blaxter-delayed_job 2.0.6 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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