summary refs log tree commit diff
path: root/lib/presque/worker/Role/Job.pm
blob: 6ce317ccaa14e0b1ee6c5e7cb59f00a93d779125 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package presque::worker::Role::Job;

use Moose::Role;
has job_retries    => (is => 'rw', isa => 'Int', default  => 5);

sub _job_failure {
    my ($self, $job, $err) = @_;

    push @{$job->{fail}}, $err;
    my $retries = ($job->{retries_left} || $self->job_retries) - 1;
    $job->{retries_left} = $retries;
    $self->rest_retry_job($job) if $retries > 0;
    $self->fail($job, $_) if $self->_has_fail_method;
}

1;