Atsushi Kobayashi > Jonk-0.10_02 > Jonk::Cookbook::ErrorHandling

Download:
Jonk-0.10_02.tar.gz

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Source  

NAME ^

Jonk::Cookbook::ErrorHandling - error handling enqueue and dequeue

USAGE ^

enqueue script:

    #! perl
    use strict;
    use warnings;
    use DBI;
    use Jonk;
    
    my $dbh = DBI->connect('dbi:mysql:test','user','pass');
    my $jonk = Jonk->new($dbh);
    my $job_id = $jonk->insert('worker_key','job_data_here');
    if ($jonk->errstr) {
        die $jonk->errstr;
    }

worker script:

    #! 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/]});
    
    while (1) {
        my $job = $jonk->find_job;
        if ($jonk->errstr) {
            die $jonk->errstr;
        }
        if ($job) {
            Your::Worker->work($job);
        } else {
            sleep(3); # wait for 3 sec.
        }
    }
syntax highlighting: