3 use base qw(Gearman::Driver::Worker);
7 use Data::Dump qw(dump);
10 our $VERSION = '0.00';
15 my ( $self, $orig, $job_name ) = @_;
16 warn "# process_name $orig $job_name\n";
17 return "$orig ($job_name)";
20 my $p = Net::Ping->new;
23 sub ping : Job : MinProcesses(1) : MaxProcesses(5) : Encode {
24 my ( $self, $job, $workload ) = @_;
25 warn "# ping $job $workload\n";
26 my ( $ok, $rtt, $ip ) = $p->ping( $workload );
27 return { error => $workload } unless $ok;
28 warn "# ping $ip $rtt $ok";
29 return { ip => $ip, rtt => $rtt };
32 sub inc_foo : Job : MinProcesses(1) : MaxProcesses(5) : Encode : Decode {
33 my ( $self, $job, $workload ) = @_;
34 warn "# inc_foo $job ", dump($workload);
40 my ( $self, $result ) = @_;
41 warn "# encode ",dump $result;
42 return JSON::XS::encode_json($result);
46 my ( $self, $workload ) = @_;
47 warn "# decode ", dump $workload;
48 return JSON::XS::decode_json($workload);