Gearman::XS client implementation
[cloudstore.git] / lib / CloudStore / Gearman.pm
1 package CloudStore::Gearman;
2 use warnings;
3 use strict;
4
5 use Gearman::XS qw(:constants);
6 use Gearman::XS::Client;
7
8 use Gearman::Client;
9 use Data::Dump qw(dump);
10
11 sub gearman {
12         my $gearman = Gearman::XS::Client->new;
13         $gearman->add_server('127.0.0.1' => 4730);
14         return $gearman;
15 }
16
17 sub gearman_do {
18         my $self = shift @_;
19         my $func = shift @_;
20         my $body = join(' ', @_) . "\n";
21         warn "## gearman_do $func [$body]\n";
22
23         my ($ret,$result) = $self->gearman->do( $func => $body );
24         warn "##>> ",dump($ret, $result),$/;
25         return $result;
26 }
27
28 1;