resque-multi-step 1.1.1 → 1.1.2
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/History.txt +9 -0
- data/VERSION +1 -1
- data/lib/resque/plugins/multi_step_task.rb +9 -0
- data/resque-multi-step.gemspec +3 -2
- data/spec/resque/plugins/multi_step_task_spec.rb +1 -1
- metadata +4 -3
data/History.txt
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
Version 1.1.2
|
2
|
+
=====
|
3
|
+
|
4
|
+
Fixed race condition around task finalization which caused some jobs to fail FinalizationAlreadyBegun errors. This did not negatively impact task completion but it did clutter the failed job queue.
|
5
|
+
|
6
|
+
Version 1.0.0
|
7
|
+
=======
|
8
|
+
|
9
|
+
Initial port of internal code to support multi step tasks.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.2
|
@@ -17,6 +17,11 @@ module Resque
|
|
17
17
|
class NoSuchMultiStepTask < StandardError; end
|
18
18
|
class NotReadyForFinalization < StandardError; end
|
19
19
|
class FinalizationAlreadyBegun < StandardError; end
|
20
|
+
class StdOutLogger
|
21
|
+
def warn(*args); puts args; end
|
22
|
+
def info(*args); puts args; end
|
23
|
+
def debug(*args); puts args; end
|
24
|
+
end
|
20
25
|
|
21
26
|
class << self
|
22
27
|
include Constantization
|
@@ -285,6 +290,10 @@ module Resque
|
|
285
290
|
def maybe_finalize
|
286
291
|
return unless ready_for_finalization? && !incomplete_because_of_errors?
|
287
292
|
finalize!
|
293
|
+
rescue FinalizationAlreadyBegun
|
294
|
+
# Just eat it the exception. Sometimes multiple normal jobs
|
295
|
+
# will try to finalize a task simultaneously. This is
|
296
|
+
# expected behavior because normal jobs run in parallel.
|
288
297
|
end
|
289
298
|
|
290
299
|
# Is this task at the point where finalization can occur.
|
data/resque-multi-step.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{resque-multi-step}
|
8
|
-
s.version = "1.1.
|
8
|
+
s.version = "1.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Peter Williams", "Morgan Whitney"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-03-14}
|
13
13
|
s.description = %q{Provides multi-step tasks with finalization and progress tracking}
|
14
14
|
s.email = %q{pezra@barelyenough.org}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
+
"History.txt",
|
21
22
|
"LICENSE",
|
22
23
|
"README.md",
|
23
24
|
"Rakefile",
|
@@ -124,7 +124,7 @@ module Resque::Plugins
|
|
124
124
|
task.add_job(TestJob, "my", "args") rescue nil
|
125
125
|
task.finalizable!
|
126
126
|
|
127
|
-
task.should
|
127
|
+
task.should be_incomplete_because_of_errors
|
128
128
|
end
|
129
129
|
|
130
130
|
it "knows it has failed if a finalized job raises an exception" do
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 1.1.
|
8
|
+
- 2
|
9
|
+
version: 1.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Peter Williams
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-03-14 00:00:00 -06:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -107,6 +107,7 @@ extra_rdoc_files:
|
|
107
107
|
- README.md
|
108
108
|
files:
|
109
109
|
- .document
|
110
|
+
- History.txt
|
110
111
|
- LICENSE
|
111
112
|
- README.md
|
112
113
|
- Rakefile
|