#!/usr/bin/perl # # spellcheck-gm # # This Gearman worker is responsible for running text through a spellchecker # # Authors: # Afuna # # Copyright (c) 2011 by Dreamwidth Studios, LLC. # # This program is free software; you may redistribute it and/or modify it under # the same terms as Perl itself. For a copy of the license, please reference # 'perldoc perlartistic' or 'perldoc perlgpl'. # use strict; BEGIN { require "$ENV{LJHOME}/cgi-bin/ljlib.pl"; } use Gearman::Worker; use LJ::Worker::Gearman; use Storable; use LJ::SpellCheck; gearman_decl( 'spellcheck' => \&spellcheck ); gearman_work(); sub spellcheck { my $job = shift; my $args = Storable::thaw( $job->arg ); my $spellcheck = LJ::SpellCheck->new( { command => $args->{command}, command_args => $args->{command_args}, class => $args->{class}, color => $args->{color}, } ); my $results = $spellcheck->run( text => $args->{text}, no_ehtml => $args->{no_ehtml} ); my $ret = { results => $results }; return Storable::nfreeze( $ret ); }