NAME
Qudo::Worker - superclass for defining task behavior of Qudo's work
SYNOPSIS
package Myworker;
use base qw/ Qudo::Worker /;
sub work {
my ($self , $job ) = @_;
my $job_arg = $job->arg();
print "This is Myworker's work. job has argument == $job_arg \n";
$job->completed(); # or die or $job->abort
}
1;
DESCRIPTION
Qudo::Worker is based on all your work class of using Qudo.
Your application have to inherit Qudo::Worker anyway. And it has to have 'work' method too.
'work' method accept Qudo::Job object at parameter. If your work complete , you may call Qudo::Job->complete() method.
WORKER SETTING
max_retries
package Your::Worker;
use base 'Qudo::Worker';
sub max_retries { 2 }
sub work { ... }
How many times it retries if worker doesn't succeed is set. It is retried two times in this example. By default, return 0. no retry.
retry_delay
package Your::Worker;
use base 'Qudo::Worker';
sub retry_delay { 10 }
sub work { ... }
returns the number of seconds after a failure workers should wait until retry a job that has already failed retry_delay times. By default,return 0 seconds
grab_for
package Your::Worker;
use base 'Qudo::Worker';
sub grab_for { 3600 }
sub work { ... }
Returns the number of seconds workers of this class will claim a grabbed a job. By default,return 3600 seconds.
set_job_status
package Your::Worker;
use base 'Qudo::Worker';
sub set_job_status { 1 }
sub work { ... }
set the flag. When flag is the truth, the processing result of worker is preserved in DB.