blaxter-delayed_job 2.0.6 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/VERSION +1 -1
  2. data/lib/delayed/job.rb +14 -5
  3. metadata +13 -4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.6
1
+ 2.0.7
data/lib/delayed/job.rb CHANGED
@@ -172,18 +172,27 @@ module Delayed
172
172
  # Reschedule the job in the future (when a job fails).
173
173
  # Uses an exponential scale depending on the number of failed attempts.
174
174
  def reschedule(message, backtrace = [], time = nil)
175
+ self.last_error = ([message] + backtrace).join("\n")
175
176
  max_attempts = payload_object.send(:max_attempts) rescue MAX_ATTEMPTS
176
177
  if self.attempts < max_attempts
177
178
  time ||= Job.db_time_now + (attempts ** 4) + 5
178
179
 
179
- self.attempts += 1
180
- self.run_at = time unless self.attempts == max_attempts
181
- self.last_error = message + "\n" + backtrace.join("\n")
180
+ self.attempts += 1
181
+ self.run_at = time unless self.attempts == max_attempts
182
182
  self.unlock
183
183
  save!
184
184
  else
185
- Delayed::Worker.logger.info "* [JOB] PERMANENTLY removing #{self.name} because of #{attempts} consequetive failures."
186
- destroy_failed_jobs ? destroy : update_attribute(:failed_at, Time.now)
185
+ if self.attempts > 0
186
+ Delayed::Worker.logger.info "* [JOB] PERMANENTLY removing #{self.name} because of #{attempts} consequetive failures."
187
+ else
188
+ Delayed::Worker.logger.info "* [JOB] PERMANENTLY removing #{self.name} because no attempts for this job"
189
+ end
190
+ if destroy_failed_jobs
191
+ destroy
192
+ else
193
+ self.failed_at = Time.now
194
+ save!
195
+ end
187
196
  end
188
197
  end
189
198
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blaxter-delayed_job
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 1
4
5
  prerelease: false
5
6
  segments:
6
7
  - 2
7
8
  - 0
8
- - 6
9
- version: 2.0.6
9
+ - 7
10
+ version: 2.0.7
10
11
  platform: ruby
11
12
  authors:
12
13
  - "Tobias L\xC3\xBCtke"
@@ -15,7 +16,7 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2010-05-03 00:00:00 +02:00
19
+ date: 2010-07-20 00:00:00 +02:00
19
20
  default_executable:
20
21
  dependencies: []
21
22
 
@@ -38,6 +39,10 @@ files:
38
39
  - lib/delayed/performable_method.rb
39
40
  - lib/delayed/worker.rb
40
41
  - lib/delayed_job.rb
42
+ - spec/delayed_method_spec.rb
43
+ - spec/story_spec.rb
44
+ - spec/database.rb
45
+ - spec/job_spec.rb
41
46
  has_rdoc: true
42
47
  homepage: http://github.com/blaxter/delayed_job
43
48
  licenses: []
@@ -51,23 +56,27 @@ rdoc_options:
51
56
  require_paths:
52
57
  - lib
53
58
  required_ruby_version: !ruby/object:Gem::Requirement
59
+ none: false
54
60
  requirements:
55
61
  - - ">="
56
62
  - !ruby/object:Gem::Version
63
+ hash: 3
57
64
  segments:
58
65
  - 0
59
66
  version: "0"
60
67
  required_rubygems_version: !ruby/object:Gem::Requirement
68
+ none: false
61
69
  requirements:
62
70
  - - ">="
63
71
  - !ruby/object:Gem::Version
72
+ hash: 3
64
73
  segments:
65
74
  - 0
66
75
  version: "0"
67
76
  requirements: []
68
77
 
69
78
  rubyforge_project:
70
- rubygems_version: 1.3.6
79
+ rubygems_version: 1.3.7.pre.1
71
80
  signing_key:
72
81
  specification_version: 3
73
82
  summary: Database-backed asynchronous priority queue system -- Extracted from Shopify