The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Qudo::Job - Qudo job class

SYNOPSIS

  # You don't need to create job object by yourself.

DESCRIPTION

Qudo::Job object is passed to your worker and some hook points.

METHODS

id

Returns job id.

uniqkey

Returns the job unique key.

func_id

Returns the function id of the job.

funcname

Returns the function name of the job.

retry_cnt

Returns how many times the job is retried.

grabbed_until

Returns time when job is grabbed.

priority

Returns the priority of the job.

arg

Returns the job argument.

arg_origin

Returns the original argument before a serializer change.

db

Returns the database the job belonging.

manager

Returns Qudo manager.

job_start_time

Returns time when job started.

completed

Set job as completed successfully.

is_completed

If job is completed, returns true.

is_aborted

If job is aborted, returns true.

is_failed

If job is failed, returns true.

error

Returns error message set in failed or abort

failed

 $job->failed($reason);

Don't use this method in your worker class. Use die instead of this. $reason is set as error and logged in exception_log.

abort

 $job->abort($reason);

This aborts job. When this method is called, the job never retried even if you set retry_cnt is set. But, if you override work_safely in Qudo::Worker, it is depends on your implementation. $reason is set as error and logged in exception_log.

replace

 $job->replace(['Worker::One', {arg => 'arg1'}], ['Worker::Another', {arg => 'arg2'}]);

This enqueue new job(s) and current job itself is completed.