NAME

Jonk::Worker - get a job data class.

SYNOPSIS

use DBI; 
use Jonk::Worker;

my $dbh = DBI->connect(...);
my $jonk = Jonk::Worker->new($dbh, {functions => ['MyWorker']});
my $job = $jonk->dequeue;
print $job->{func}; # MyWorker
print $job->{arg};  # arg

METHODS

my $jonk = Jonk::Worker->new($dbh, $options);

Creates a new Jonk object, and returns the object.

$options is an optional settings.

  • $dbh

    $dbh is database handle.

  • $options->{functions}

    Key word of job which this Jonk instance looks for.

  • $options->{table_name}

    specific job table name.

    Default job table name is `job`.

  • $options->{job_find_size}

    specific lookup job record size.

    Default 50.

my $job_hash_ref = $jonk->dequeue($job_id);

dequeue a job from a database.

returns job hashref data.

Please do deserialize if it is necessary.

  • $job_id (optional)

    lookup specific $job_id's job.

$jonk->errstr;

get most recent error infomation.

ERROR HANDLING

my $job = $jonk->dequeue;
if ($jonk->errstr) {
    die $jonk->errstr;
}