diff options
author | franck cuny <franck@lumberjaph.net> | 2010-06-09 18:19:38 +0200 |
---|---|---|
committer | franck cuny <franck@lumberjaph.net> | 2010-06-09 18:19:38 +0200 |
commit | 5b2042053577cc6381c40c4fb5d5264e79a0312d (patch) | |
tree | 643da7415c478ee5e444231690fe8cd91329b75c /lib/presque/worker/Role/Job.pm | |
parent | a simple worker; a role for the REST interface to presque; reg signals (diff) | |
download | presque-worker-5b2042053577cc6381c40c4fb5d5264e79a0312d.tar.gz |
add logger; move some code for work and job in roles;
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; |