NAME
MooseX::Workers::Job - One of the jobs MooseX::Workers is running
SYNOPSIS
package Manager;
use Moose;
with qw(MooseX::Workers);
sub worker_stdout {
my ( $self, $output, $job ) = @_;
printf(
"%s(%s,%s) said '%s'\n",
$job->name, $job->ID, $job->PID, $output
);
}
sub run {
foreach (qw( foo bar baz )) {
my $job = MooseX::Workers::Job->new(
name => $_,
command => sub { print "Hello World\n" },
timeout => 30,
);
$_[0]->spawn( $job );
}
POE::Kernel->run();
}
no Moose;
Manager->new()->run();
# bar(2,32423) said 'Hello World'
# foo(1,32422) said 'Hello World'
# baz(3,32424) said 'Hello World'
DESCRIPTION
MooseX::Workers::Job objects are convenient if you want to name each MooseX::Workers job, or if you want them to timeout (abort) after a certain number of seconds.