diff options
Diffstat (limited to 'lib/presque/worker/Role/Job.pm')
| -rw-r--r-- | lib/presque/worker/Role/Job.pm | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/presque/worker/Role/Job.pm b/lib/presque/worker/Role/Job.pm new file mode 100644 index 0000000..6ce317c --- /dev/null +++ b/lib/presque/worker/Role/Job.pm @@ -0,0 +1,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; |
