Jonk::Cookbook::RetryJob - retry job with wait few minitus
#! perl use strict; use warnings; use DBI; use Jonk use Your::Worker; my $dbh = DBI->connect('dbi:mysql:test','user','pass'); my $jonk = Jonk->new($dbh, {functions => [qw/worker_key/]}); my $job_id = $jonk->insert('worker_key','job_data_here'); while (1) { my $job = $jonk->find_job; eval { Your::Worker->work($job); }; if ($@) { if ($job->retry_cnt >= 5) { $job->aborted(); } else { $job->failed( { retry_delay => ($job->retry_cnt*30), # wait for (retry_cnt * 30sec) } ); } } sleep(3); # wait for 3 sec. }
To install Jonk, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Jonk
CPAN shell
perl -MCPAN -e shell install Jonk
For more information on module installation, please visit the detailed CPAN module installation guide.