> $app->minion->add_task(demo_job => sub {
> my $job = shift;
> my $retval = {};
>
> sleep 1 until $app->minion->lock('demo_job', 7200);
>
> $job->on(finished => sub {
> my ($job, $result) = @_;
> my $debugger = $app->debug_logger;
> $debugger->debug(sprintf("Job %d with task %s finished\n",
> $job->id, $job->task ));
> $app->minion->unlock('demo_job');
> });
>
> $job->on(failed => sub {
> my ($job, $err) = @_;
> my $debugger = $app->debug_logger;
> $debugger->debug(sprintf("Job %d with task %s failed %s\n",
> $job->id, $job->task, $err ));
> $app->minion->unlock('demo_job');
> });
>
> $retval->{data}->[0]->{demo_job} = int(rand(1000));
> $retval->{success} = Cpanel::JSON::XS::true();
> return $job->finish($retval);
> });
You can't use the finished and failed events from inside the task.
--
Sebastian Riedel
http://mojolicio.us
http://github.com/kraih
http://twitter.com/kraih