3 use base qw(Gearman::Driver::Worker);
7 use Data::Dump qw(dump);
10 sub prefix { 'Store_' }
13 my ( $self, $orig, $job_name ) = @_;
14 warn "# process_name $orig $job_name\n";
15 return "$orig ($job_name)";
18 sub ADSL : Job : MinProcesses(1) : MaxProcesses(5) : Decode {
19 my ( $self, $job, $workload ) = @_;
20 warn "# ADSL ",dump($workload);
21 my $dbh = DBI->connect_cached('DBI:Pg:dbname=apkpm','','', {
26 my @c = keys %$workload;
28 my $sql = 'INSERT INTO adsl (' . join(',',@c) . ') values (' . join(',', map { '?' } 0 .. $#c) . ')';
30 my $sth = $dbh->prepare($sql);
31 $sth->execute( map { $workload->{$_} } @c );
35 my ( $self, $workload ) = @_;
36 warn "# decode ", dump $workload;
37 return JSON::XS::decode_json($workload);