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.
- data/VERSION +1 -1
- data/lib/delayed/job.rb +14 -5
- metadata +13 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
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
|
180
|
-
self.run_at
|
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
|
-
|
186
|
-
|
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
|
-
-
|
9
|
-
version: 2.0.
|
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-
|
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.
|
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
|