lazy create gearman client so we get currnet server
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 13 Mar 2011 13:41:22 +0000 (14:41 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 13 Mar 2011 13:41:22 +0000 (14:41 +0100)
lib/APKPM/Gearman/Client.pm

index 0a5da62..0347557 100644 (file)
@@ -4,19 +4,25 @@ use Moose::Role;
 
 use Gearman::Client;
 use JSON::XS;
+use Data::Dump qw(dump);
+
+requires 'server';
 
 has gc => (
        is => 'ro',
+       lazy => 1, # wait for server to have value
        default => sub {
                my $self = shift;
                my $gc = Gearman::Client->new;
                $gc->job_servers( $self->server );
+               warn "# Gearman server: ", $self->server;
                $gc;
        },
 );
 
 sub do_background_json {
        my ( $self, $func, $args ) = @_;
+       warn "# do_background_json ", dump( $func, $args );
        $self->gc->dispatch_background( $func, JSON::XS::encode_json($args) );
 }