add $VERSION
[APKPM.git] / lib / APKPM.pm
1 package APKPM;
2
3 use base qw(Gearman::Driver::Worker);
4 use Moose;
5 use Time::HiRes;
6 use JSON::XS;
7 use Data::Dump qw(dump);
8
9 our $VERSION = '0.00';
10
11 sub prefix { '' }
12
13 sub process_name {
14         my ( $self, $orig, $job_name ) = @_;
15         warn "# process_name $orig $job_name\n";
16         return "$orig ($job_name)";
17 }
18
19 our $nr = 0;
20
21 sub ping : Job : MinProcesses(1) : MaxProcesses(5) {
22         my ( $self, $job, $workload ) = @_;
23         warn "# ping $job $workload\n";
24         sleep 2; $nr++;
25         return "pong [$workload] $$ $nr";
26 }
27
28 sub inc_foo : Job : MinProcesses(1) : MaxProcesses(5) : Encode : Decode {
29         my ( $self, $job, $workload ) = @_;
30         warn "# inc_foo $job ", dump($workload);
31         $workload->{foo}++;
32         return $workload;
33 }
34
35 sub encode {
36         my ( $self, $result ) = @_;
37         return JSON::XS::encode_json($result);
38 }
39
40 sub decode {
41         my ( $self, $workload ) = @_;
42         return JSON::XS::decode_json($workload);
43 }
44
45 1;