X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=persistant_worker.pl;h=f6010093873ee8d6532e80a40b372f04d9cbfac4;hb=1346369209d3ab8edaf6d5f4b109d75173cb617a;hp=647b2bdf4646df332fad89917b981d3c52e849be;hpb=93b042750d2b467c18608b056437fc3a120ee3ec;p=APKPM.git diff --git a/persistant_worker.pl b/persistant_worker.pl index 647b2bd..f601009 100755 --- a/persistant_worker.pl +++ b/persistant_worker.pl @@ -36,7 +36,7 @@ warn "variant: $variant max_processes: $max_processes\n"; my $driver = Gearman::Driver->new( server => 'localhost:4730', - interval => 15, + interval => 3, loglevel => 'DEBUG', logfile => "log/$variant.log", ) || die $!; @@ -70,13 +70,13 @@ foreach my $ip ( keys %$poll ) { $driver->add_job({ max_processes => $max_procs, - min_processes => 0, + min_processes => 1, name => $method, worker => $worker, methods => [ { decode => 'd_json', -# encode => 'e_json', + encode => 'e_json', name => $method, body => sub { @@ -100,10 +100,10 @@ foreach my $ip ( keys %$poll ) { if ( $@ ) { $redis->sadd("$variant.$ip.error" => $@); - return "error: $@"; + return { error => $@ }; } elsif ( ! $hash ) { $redis->sadd("$variant.$ip.empty" => $port); - return "empty"; + return { error => 'empty' }; } else { $redis->sadd("$variant.$ip.ok" => $port); } @@ -114,10 +114,10 @@ foreach my $ip ( keys %$poll ) { username => $username, timestamp => $self->datetime_now, variant => $variant, - h => $self->to_hstore($hash), + h => $hash, }); - return "ok $username $ip $port"; # body end + return $hash; # body end # XXX -- worker body },