resque-status 0.3.0 → 0.3.1
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/Gemfile +11 -5
- data/Gemfile.lock +12 -14
- data/Rakefile +0 -5
- data/lib/resque/plugins/status.rb +7 -1
- data/lib/resque/plugins/status/hash.rb +14 -1
- data/lib/resque/status_server.rb +1 -0
- data/resque-status.gemspec +9 -30
- data/test/test_helper.rb +8 -0
- data/test/test_resque_plugins_status.rb +40 -15
- metadata +13 -90
data/Gemfile
CHANGED
@@ -1,8 +1,14 @@
|
|
1
1
|
source :rubygems
|
2
2
|
|
3
3
|
gem 'redisk', '>= 0.2.1'
|
4
|
-
gem 'resque', '
|
5
|
-
gem 'uuid', '
|
6
|
-
|
7
|
-
|
8
|
-
gem '
|
4
|
+
gem 'resque', '~>1.19'
|
5
|
+
gem 'uuid', '~>2.0.2'
|
6
|
+
|
7
|
+
group :test do
|
8
|
+
gem 'mocha', '~>0.9.8'
|
9
|
+
gem 'shoulda', '~>2.10.2'
|
10
|
+
end
|
11
|
+
|
12
|
+
group :development do
|
13
|
+
gem 'jeweler'
|
14
|
+
end
|
data/Gemfile.lock
CHANGED
@@ -6,35 +6,33 @@ GEM
|
|
6
6
|
bundler (~> 1.0)
|
7
7
|
git (>= 1.2.5)
|
8
8
|
rake
|
9
|
-
json (1.4.6)
|
10
9
|
macaddr (1.5.0)
|
11
10
|
systemu (>= 2.4.0)
|
12
|
-
|
13
|
-
|
14
|
-
metaclass (~> 0.0.1)
|
11
|
+
mocha (0.9.12)
|
12
|
+
multi_json (1.0.4)
|
15
13
|
rack (1.4.0)
|
16
14
|
rack-protection (1.2.0)
|
17
15
|
rack
|
18
16
|
rake (0.9.2.2)
|
19
17
|
redis (2.2.2)
|
20
|
-
redis-namespace (1.
|
18
|
+
redis-namespace (1.0.3)
|
21
19
|
redis (< 3.0.0)
|
22
20
|
redisk (0.2.2)
|
23
21
|
redis (>= 0.1.1)
|
24
22
|
redis-namespace (>= 0.1.0)
|
25
|
-
resque (1.
|
26
|
-
|
27
|
-
redis-namespace (
|
23
|
+
resque (1.19.0.1)
|
24
|
+
multi_json (~> 1.0)
|
25
|
+
redis-namespace (~> 1.0.2)
|
28
26
|
sinatra (>= 0.9.2)
|
29
27
|
vegas (~> 0.1.2)
|
30
|
-
shoulda (2.
|
28
|
+
shoulda (2.10.3)
|
31
29
|
sinatra (1.3.2)
|
32
30
|
rack (~> 1.3, >= 1.3.6)
|
33
31
|
rack-protection (~> 1.2)
|
34
32
|
tilt (~> 1.3, >= 1.3.3)
|
35
33
|
systemu (2.4.2)
|
36
34
|
tilt (1.3.3)
|
37
|
-
uuid (2.
|
35
|
+
uuid (2.0.2)
|
38
36
|
macaddr (~> 1.0)
|
39
37
|
vegas (0.1.8)
|
40
38
|
rack (>= 1.0.0)
|
@@ -44,8 +42,8 @@ PLATFORMS
|
|
44
42
|
|
45
43
|
DEPENDENCIES
|
46
44
|
jeweler
|
47
|
-
mocha (
|
45
|
+
mocha (~> 0.9.8)
|
48
46
|
redisk (>= 0.2.1)
|
49
|
-
resque (
|
50
|
-
shoulda (
|
51
|
-
uuid (
|
47
|
+
resque (~> 1.19)
|
48
|
+
shoulda (~> 2.10.2)
|
49
|
+
uuid (~> 2.0.2)
|
data/Rakefile
CHANGED
@@ -16,11 +16,6 @@ begin
|
|
16
16
|
gem.homepage = "http://github.com/quirkey/resque-status"
|
17
17
|
gem.rubyforge_project = "quirkey"
|
18
18
|
gem.authors = ["Aaron Quint"]
|
19
|
-
gem.add_dependency "uuid", ">=2.0.2"
|
20
|
-
gem.add_dependency "resque", ">=1.3.1"
|
21
|
-
gem.add_dependency "redisk", ">=0.2.1"
|
22
|
-
gem.add_development_dependency "shoulda", ">=2.10.2"
|
23
|
-
gem.add_development_dependency "mocha", ">=0.9.8"
|
24
19
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
25
20
|
end
|
26
21
|
Jeweler::GemcutterTasks.new
|
@@ -30,6 +30,7 @@ module Resque
|
|
30
30
|
# This job would iterate num times updating the status as it goes. At the end
|
31
31
|
# we update the status telling anyone listening to this job that its complete.
|
32
32
|
module Status
|
33
|
+
VERSION = '0.3.1'
|
33
34
|
|
34
35
|
# The error class raised when a job is killed
|
35
36
|
class Killed < RuntimeError; end
|
@@ -119,7 +120,12 @@ module Resque
|
|
119
120
|
def safe_perform!
|
120
121
|
set_status({'status' => 'working'})
|
121
122
|
perform
|
122
|
-
|
123
|
+
if status.failed?
|
124
|
+
on_failure(status.message) if respond_to?(:on_failure)
|
125
|
+
return
|
126
|
+
elsif status && !status.completed?
|
127
|
+
completed
|
128
|
+
end
|
123
129
|
on_success if respond_to?(:on_success)
|
124
130
|
rescue Killed
|
125
131
|
logger.info "Job #{self} Killed at #{Time.now}"
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Resque
|
2
2
|
module Plugins
|
3
3
|
module Status
|
4
|
-
VERSION = '0.3.0'
|
5
4
|
|
6
5
|
# Resque::Plugins::Status::Hash is a Hash object that has helper methods for dealing with
|
7
6
|
# the common status attributes. It also has a number of class methods for
|
@@ -103,6 +102,20 @@ module Resque
|
|
103
102
|
redis.smembers(kill_key)
|
104
103
|
end
|
105
104
|
|
105
|
+
# Kills <tt>num</tt> jobs within range starting with the most recent first.
|
106
|
+
# By default kills all jobs.
|
107
|
+
# Note that the same conditions apply as <tt>kill</tt>, i.e. only jobs that check
|
108
|
+
# on each iteration by calling <tt>tick</tt> or <tt>at</tt> are eligible to killed.
|
109
|
+
# @param [Numeric] range_start The optional starting range
|
110
|
+
# @param [Numeric] range_end The optional ending range
|
111
|
+
# @example killing the last 20 submitted jobs
|
112
|
+
# Resque::Plugins::Status::Hash.killall(0, 20)
|
113
|
+
def self.killall(range_start = nil, range_end = nil)
|
114
|
+
status_ids(range_start, range_end).collect do |id|
|
115
|
+
kill(id)
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
106
119
|
# Check whether a job with UUID is on the kill list
|
107
120
|
def self.should_kill?(uuid)
|
108
121
|
redis.sismember(kill_key, uuid)
|
data/lib/resque/status_server.rb
CHANGED
data/resque-status.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "resque-status"
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Aaron Quint"]
|
12
|
-
s.date = "2012-01-
|
12
|
+
s.date = "2012-01-23"
|
13
13
|
s.description = "resque-status is an extension to the resque queue system that provides simple trackable jobs. It provides a Resque::Plugins::Status::Hash class which can set/get the statuses of jobs and a Resque::Plugins::Status class that when included provides easily trackable/killable jobs."
|
14
14
|
s.email = "aaron@quirkey.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -51,41 +51,20 @@ Gem::Specification.new do |s|
|
|
51
51
|
|
52
52
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
53
53
|
s.add_runtime_dependency(%q<redisk>, [">= 0.2.1"])
|
54
|
-
s.add_runtime_dependency(%q<resque>, ["
|
55
|
-
s.add_runtime_dependency(%q<uuid>, ["
|
56
|
-
s.
|
57
|
-
s.add_runtime_dependency(%q<shoulda>, [">= 2.10.2"])
|
58
|
-
s.add_runtime_dependency(%q<jeweler>, [">= 0"])
|
59
|
-
s.add_runtime_dependency(%q<uuid>, [">= 2.0.2"])
|
60
|
-
s.add_runtime_dependency(%q<resque>, [">= 1.3.1"])
|
61
|
-
s.add_runtime_dependency(%q<redisk>, [">= 0.2.1"])
|
62
|
-
s.add_development_dependency(%q<shoulda>, [">= 2.10.2"])
|
63
|
-
s.add_development_dependency(%q<mocha>, [">= 0.9.8"])
|
54
|
+
s.add_runtime_dependency(%q<resque>, ["~> 1.19"])
|
55
|
+
s.add_runtime_dependency(%q<uuid>, ["~> 2.0.2"])
|
56
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
64
57
|
else
|
65
58
|
s.add_dependency(%q<redisk>, [">= 0.2.1"])
|
66
|
-
s.add_dependency(%q<resque>, ["
|
67
|
-
s.add_dependency(%q<uuid>, ["
|
68
|
-
s.add_dependency(%q<mocha>, [">= 0.9.8"])
|
69
|
-
s.add_dependency(%q<shoulda>, [">= 2.10.2"])
|
59
|
+
s.add_dependency(%q<resque>, ["~> 1.19"])
|
60
|
+
s.add_dependency(%q<uuid>, ["~> 2.0.2"])
|
70
61
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
71
|
-
s.add_dependency(%q<uuid>, [">= 2.0.2"])
|
72
|
-
s.add_dependency(%q<resque>, [">= 1.3.1"])
|
73
|
-
s.add_dependency(%q<redisk>, [">= 0.2.1"])
|
74
|
-
s.add_dependency(%q<shoulda>, [">= 2.10.2"])
|
75
|
-
s.add_dependency(%q<mocha>, [">= 0.9.8"])
|
76
62
|
end
|
77
63
|
else
|
78
64
|
s.add_dependency(%q<redisk>, [">= 0.2.1"])
|
79
|
-
s.add_dependency(%q<resque>, ["
|
80
|
-
s.add_dependency(%q<uuid>, ["
|
81
|
-
s.add_dependency(%q<mocha>, [">= 0.9.8"])
|
82
|
-
s.add_dependency(%q<shoulda>, [">= 2.10.2"])
|
65
|
+
s.add_dependency(%q<resque>, ["~> 1.19"])
|
66
|
+
s.add_dependency(%q<uuid>, ["~> 2.0.2"])
|
83
67
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
84
|
-
s.add_dependency(%q<uuid>, [">= 2.0.2"])
|
85
|
-
s.add_dependency(%q<resque>, [">= 1.3.1"])
|
86
|
-
s.add_dependency(%q<redisk>, [">= 0.2.1"])
|
87
|
-
s.add_dependency(%q<shoulda>, [">= 2.10.2"])
|
88
|
-
s.add_dependency(%q<mocha>, [">= 0.9.8"])
|
89
68
|
end
|
90
69
|
end
|
91
70
|
|
data/test/test_helper.rb
CHANGED
@@ -93,6 +93,32 @@ class TestResquePluginsStatus < Test::Unit::TestCase
|
|
93
93
|
before_should "call perform on the inherited class" do
|
94
94
|
WorkingJob.any_instance.expects(:perform).once
|
95
95
|
end
|
96
|
+
end
|
97
|
+
|
98
|
+
context "manually failing a job" do
|
99
|
+
setup do
|
100
|
+
@uuid = FailureJob.create(:num => 100)
|
101
|
+
@payload = Resque.pop(:statused)
|
102
|
+
@performed = FailureJob.perform(*@payload['args'])
|
103
|
+
end
|
104
|
+
|
105
|
+
should "load load a new instance of the klass" do
|
106
|
+
assert @performed.is_a?(FailureJob)
|
107
|
+
end
|
108
|
+
|
109
|
+
should "set the uuid" do
|
110
|
+
assert_equal @uuid, @performed.uuid
|
111
|
+
end
|
112
|
+
|
113
|
+
should "set the status" do
|
114
|
+
assert @performed.status.is_a?(Resque::Plugins::Status::Hash)
|
115
|
+
assert_equal 'FailureJob({"num"=>100})', @performed.status.name
|
116
|
+
end
|
117
|
+
|
118
|
+
should "be failed" do
|
119
|
+
assert_match(/failure/, @performed.status.message)
|
120
|
+
assert @performed.status.failed?
|
121
|
+
end
|
96
122
|
|
97
123
|
end
|
98
124
|
|
@@ -126,10 +152,10 @@ class TestResquePluginsStatus < Test::Unit::TestCase
|
|
126
152
|
@uuid1 = KillableJob.create(:num => 100)
|
127
153
|
@uuid2 = KillableJob.create(:num => 100)
|
128
154
|
|
129
|
-
Resque::Status.killall
|
155
|
+
Resque::Plugins::Status::Hash.killall
|
130
156
|
|
131
|
-
assert_contains Resque::Status.kill_ids, @uuid1
|
132
|
-
assert_contains Resque::Status.kill_ids, @uuid2
|
157
|
+
assert_contains Resque::Plugins::Status::Hash.kill_ids, @uuid1
|
158
|
+
assert_contains Resque::Plugins::Status::Hash.kill_ids, @uuid2
|
133
159
|
|
134
160
|
@payload1 = Resque.pop(:statused)
|
135
161
|
@payload2 = Resque.pop(:statused)
|
@@ -137,8 +163,8 @@ class TestResquePluginsStatus < Test::Unit::TestCase
|
|
137
163
|
@performed = KillableJob.perform(*@payload1['args'])
|
138
164
|
@performed = KillableJob.perform(*@payload2['args'])
|
139
165
|
|
140
|
-
@status1 = Resque::Status.get(@uuid1)
|
141
|
-
@status2 = Resque::Status.get(@uuid2)
|
166
|
+
@status1 = Resque::Plugins::Status::Hash.get(@uuid1)
|
167
|
+
@status2 = Resque::Plugins::Status::Hash.get(@uuid2)
|
142
168
|
end
|
143
169
|
|
144
170
|
should "set the status to killed" do
|
@@ -157,8 +183,8 @@ class TestResquePluginsStatus < Test::Unit::TestCase
|
|
157
183
|
end
|
158
184
|
|
159
185
|
should "not persist the kill key" do
|
160
|
-
assert_does_not_contain Resque::Status.kill_ids, @uuid1
|
161
|
-
assert_does_not_contain Resque::Status.kill_ids, @uuid2
|
186
|
+
assert_does_not_contain Resque::Plugins::Status::Hash.kill_ids, @uuid1
|
187
|
+
assert_does_not_contain Resque::Plugins::Status::Hash.kill_ids, @uuid2
|
162
188
|
end
|
163
189
|
|
164
190
|
end
|
@@ -168,10 +194,10 @@ class TestResquePluginsStatus < Test::Unit::TestCase
|
|
168
194
|
@uuid1 = KillableJob.create(:num => 100)
|
169
195
|
@uuid2 = KillableJob.create(:num => 100)
|
170
196
|
|
171
|
-
Resque::Status.killall(0,0) # only @uuid2 should be killed
|
197
|
+
Resque::Plugins::Status::Hash.killall(0,0) # only @uuid2 should be killed
|
172
198
|
|
173
|
-
assert_does_not_contain Resque::Status.kill_ids, @uuid1
|
174
|
-
assert_contains Resque::Status.kill_ids, @uuid2
|
199
|
+
assert_does_not_contain Resque::Plugins::Status::Hash.kill_ids, @uuid1
|
200
|
+
assert_contains Resque::Plugins::Status::Hash.kill_ids, @uuid2
|
175
201
|
|
176
202
|
@payload1 = Resque.pop(:statused)
|
177
203
|
@payload2 = Resque.pop(:statused)
|
@@ -179,8 +205,8 @@ class TestResquePluginsStatus < Test::Unit::TestCase
|
|
179
205
|
@performed = KillableJob.perform(*@payload1['args'])
|
180
206
|
@performed = KillableJob.perform(*@payload2['args'])
|
181
207
|
|
182
|
-
@status1 = Resque::Status.get(@uuid1)
|
183
|
-
@status2 = Resque::Status.get(@uuid2)
|
208
|
+
@status1 = Resque::Plugins::Status::Hash.get(@uuid1)
|
209
|
+
@status2 = Resque::Plugins::Status::Hash.get(@uuid2)
|
184
210
|
end
|
185
211
|
|
186
212
|
should "set the status to killed" do
|
@@ -199,8 +225,8 @@ class TestResquePluginsStatus < Test::Unit::TestCase
|
|
199
225
|
end
|
200
226
|
|
201
227
|
should "not persist the kill key" do
|
202
|
-
assert_does_not_contain Resque::Status.kill_ids, @uuid1
|
203
|
-
assert_does_not_contain Resque::Status.kill_ids, @uuid2
|
228
|
+
assert_does_not_contain Resque::Plugins::Status::Hash.kill_ids, @uuid1
|
229
|
+
assert_does_not_contain Resque::Plugins::Status::Hash.kill_ids, @uuid2
|
204
230
|
end
|
205
231
|
|
206
232
|
end
|
@@ -268,7 +294,6 @@ class TestResquePluginsStatus < Test::Unit::TestCase
|
|
268
294
|
should "set status as failed" do
|
269
295
|
assert_equal 'failed', @job.status.status
|
270
296
|
end
|
271
|
-
|
272
297
|
end
|
273
298
|
|
274
299
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque-status
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-23 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: redisk
|
16
|
-
requirement: &
|
16
|
+
requirement: &70111193431380 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,117 +21,40 @@ dependencies:
|
|
21
21
|
version: 0.2.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70111193431380
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: resque
|
27
|
-
requirement: &
|
27
|
+
requirement: &70111193430860 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - ~>
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
32
|
+
version: '1.19'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70111193430860
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: uuid
|
38
|
-
requirement: &
|
38
|
+
requirement: &70111193430060 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: 2.0.2
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: mocha
|
49
|
-
requirement: &70167507501300 !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
|
-
requirements:
|
52
|
-
- - ! '>='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.9.8
|
55
|
-
type: :runtime
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: *70167507501300
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: shoulda
|
60
|
-
requirement: &70167507500760 !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
|
-
requirements:
|
63
|
-
- - ! '>='
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: 2.10.2
|
66
|
-
type: :runtime
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: *70167507500760
|
46
|
+
version_requirements: *70111193430060
|
69
47
|
- !ruby/object:Gem::Dependency
|
70
48
|
name: jeweler
|
71
|
-
requirement: &
|
49
|
+
requirement: &70111193429380 !ruby/object:Gem::Requirement
|
72
50
|
none: false
|
73
51
|
requirements:
|
74
52
|
- - ! '>='
|
75
53
|
- !ruby/object:Gem::Version
|
76
54
|
version: '0'
|
77
|
-
type: :runtime
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: *70167507500200
|
80
|
-
- !ruby/object:Gem::Dependency
|
81
|
-
name: uuid
|
82
|
-
requirement: &70167507499640 !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
|
-
requirements:
|
85
|
-
- - ! '>='
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: 2.0.2
|
88
|
-
type: :runtime
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: *70167507499640
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: resque
|
93
|
-
requirement: &70167507499060 !ruby/object:Gem::Requirement
|
94
|
-
none: false
|
95
|
-
requirements:
|
96
|
-
- - ! '>='
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: 1.3.1
|
99
|
-
type: :runtime
|
100
|
-
prerelease: false
|
101
|
-
version_requirements: *70167507499060
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: redisk
|
104
|
-
requirement: &70167507496920 !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: 0.2.1
|
110
|
-
type: :runtime
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: *70167507496920
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: shoulda
|
115
|
-
requirement: &70167507496200 !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
|
-
requirements:
|
118
|
-
- - ! '>='
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: 2.10.2
|
121
|
-
type: :development
|
122
|
-
prerelease: false
|
123
|
-
version_requirements: *70167507496200
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: mocha
|
126
|
-
requirement: &70167507495300 !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
128
|
-
requirements:
|
129
|
-
- - ! '>='
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 0.9.8
|
132
55
|
type: :development
|
133
56
|
prerelease: false
|
134
|
-
version_requirements: *
|
57
|
+
version_requirements: *70111193429380
|
135
58
|
description: resque-status is an extension to the resque queue system that provides
|
136
59
|
simple trackable jobs. It provides a Resque::Plugins::Status::Hash class which can
|
137
60
|
set/get the statuses of jobs and a Resque::Plugins::Status class that when included
|