5 use Data::Dump qw(dump);
10 my ($table,$job) = @_;
12 my $hash = decode_json $job->arg;
14 print "insert $table ",dump($hash),$/;
16 my $dbh = DBI->connect_cached('DBI:Pg:dbname=cloudstore','','', {
23 my $sql = sprintf 'INSERT INTO %s (%s) values (%s)', $table,
24 join(',',@k), join(',', map { '?' } @k);
27 my $sth = $dbh->prepare($sql);
28 $sth->execute( map { $hash->{$_} } @k );
32 my $worker = Gearman::Worker->new;
33 $worker->job_servers('127.0.0.1:4730');
34 $worker->register_function( rsync_transfer => sub { insert 'rsync_transfer' => shift } );
36 warn "$0 pid $$ waitng for jobs\n";
37 $worker->work while 1;