resque-status 0.1.0 → 0.1.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/README.rdoc +7 -0
- data/Rakefile +1 -0
- data/lib/resque/job_with_status.rb +3 -3
- data/lib/resque/server/views/statuses.erb +5 -0
- data/lib/resque/status.rb +8 -1
- data/lib/resque/status_server.rb +5 -0
- data/resque-status.gemspec +5 -2
- data/test/test_resque-status.rb +15 -0
- metadata +12 -2
data/README.rdoc
CHANGED
@@ -125,6 +125,13 @@ The start resque-web with your config:
|
|
125
125
|
This should launch resque-web in your browser and you should see a 'Statuses' tab.
|
126
126
|
|
127
127
|
http://img.skitch.com/20100119-k166xyijcjpkk6xtwnw3854a8g.jpg
|
128
|
+
|
129
|
+
== More
|
130
|
+
|
131
|
+
Source: http://github.com/quirkey/resque-status
|
132
|
+
API Docs: http://rdoc.info/projects/quirkey/resque-status
|
133
|
+
Examples: http://github.com/quirkey/resque-status/tree/master/examples
|
134
|
+
Resque: http://github.com/defunkt/resque
|
128
135
|
|
129
136
|
== Thanks
|
130
137
|
|
data/Rakefile
CHANGED
@@ -18,6 +18,7 @@ begin
|
|
18
18
|
gem.add_dependency "resque", ">=1.3.1"
|
19
19
|
gem.add_dependency "redisk", ">=0.2.0"
|
20
20
|
gem.add_development_dependency "shoulda", ">=2.10.2"
|
21
|
+
gem.add_development_dependency "mocha", ">=0.9.8"
|
21
22
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
22
23
|
end
|
23
24
|
Jeweler::GemcutterTasks.new
|
@@ -106,7 +106,7 @@ module Resque
|
|
106
106
|
Resque::Status.killed(uuid)
|
107
107
|
rescue => e
|
108
108
|
logger.error e
|
109
|
-
failed("The task failed because of an error: #{e
|
109
|
+
failed("The task failed because of an error: #{e}")
|
110
110
|
raise e
|
111
111
|
end
|
112
112
|
|
@@ -173,14 +173,14 @@ module Resque
|
|
173
173
|
def kill!
|
174
174
|
set_status({
|
175
175
|
'status' => 'killed',
|
176
|
-
'message' => "Killed"
|
176
|
+
'message' => "Killed at #{Time.now}"
|
177
177
|
})
|
178
178
|
raise Killed
|
179
179
|
end
|
180
180
|
|
181
181
|
private
|
182
182
|
def set_status(*args)
|
183
|
-
self.status = [{'name' => self.name}, args].flatten
|
183
|
+
self.status = [status, {'name' => self.name}, args].flatten
|
184
184
|
end
|
185
185
|
|
186
186
|
end
|
@@ -1,6 +1,11 @@
|
|
1
1
|
<%= status_view :status_styles, :layout => false %>
|
2
2
|
|
3
3
|
<h1 class='wi'>Statuses</h1>
|
4
|
+
<%unless @statuses.empty?%>
|
5
|
+
<form method="POST" action="<%=u 'statuses/clear'%>" class='clear-failed'>
|
6
|
+
<input type='submit' name='' value='Clear Statuses' />
|
7
|
+
</form>
|
8
|
+
<%end%>
|
4
9
|
<p class='intro'>These are recent jobs created with the JobWithStatus class</p>
|
5
10
|
<table>
|
6
11
|
<tr>
|
data/lib/resque/status.rb
CHANGED
@@ -7,7 +7,7 @@ module Resque
|
|
7
7
|
# the common status attributes. It also has a number of class methods for
|
8
8
|
# creating/updating/retrieving status objects from Redis
|
9
9
|
class Status < Hash
|
10
|
-
VERSION = '0.1.
|
10
|
+
VERSION = '0.1.1'
|
11
11
|
|
12
12
|
extend Resque::Helpers
|
13
13
|
|
@@ -38,6 +38,13 @@ module Resque
|
|
38
38
|
val
|
39
39
|
end
|
40
40
|
|
41
|
+
def self.clear
|
42
|
+
status_ids.each do |id|
|
43
|
+
redis.del(status_key(id))
|
44
|
+
redis.zrem(set_key, id)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
41
48
|
# returns a Redisk::Logger scoped to the UUID. Any options passed are passed
|
42
49
|
# to the logger initialization.
|
43
50
|
def self.logger(uuid, options = {})
|
data/lib/resque/status_server.rb
CHANGED
@@ -28,6 +28,11 @@ module Resque
|
|
28
28
|
redirect '/statuses'
|
29
29
|
end
|
30
30
|
|
31
|
+
app.post '/statuses/clear' do
|
32
|
+
Resque::Status.clear
|
33
|
+
redirect '/statuses'
|
34
|
+
end
|
35
|
+
|
31
36
|
app.helpers do
|
32
37
|
def status_view(filename, options = {}, locals = {})
|
33
38
|
erb(File.read(File.join(VIEW_PATH, "#{filename}.erb")), options, locals)
|
data/resque-status.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{resque-status}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.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 = %q{2010-01-
|
12
|
+
s.date = %q{2010-01-20}
|
13
13
|
s.description = %q{resque-status is an extension to the resque queue system that provides simple trackable jobs. It provides a Resque::Status class which can set/get the statuses of jobs and a Resque::JobWithStatus class that when subclassed provides easily trackable/killable jobs.}
|
14
14
|
s.email = %q{aaron@quirkey.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -58,17 +58,20 @@ Gem::Specification.new do |s|
|
|
58
58
|
s.add_runtime_dependency(%q<resque>, [">= 1.3.1"])
|
59
59
|
s.add_runtime_dependency(%q<redisk>, [">= 0.2.0"])
|
60
60
|
s.add_development_dependency(%q<shoulda>, [">= 2.10.2"])
|
61
|
+
s.add_development_dependency(%q<mocha>, [">= 0.9.8"])
|
61
62
|
else
|
62
63
|
s.add_dependency(%q<uuid>, [">= 2.0.2"])
|
63
64
|
s.add_dependency(%q<resque>, [">= 1.3.1"])
|
64
65
|
s.add_dependency(%q<redisk>, [">= 0.2.0"])
|
65
66
|
s.add_dependency(%q<shoulda>, [">= 2.10.2"])
|
67
|
+
s.add_dependency(%q<mocha>, [">= 0.9.8"])
|
66
68
|
end
|
67
69
|
else
|
68
70
|
s.add_dependency(%q<uuid>, [">= 2.0.2"])
|
69
71
|
s.add_dependency(%q<resque>, [">= 1.3.1"])
|
70
72
|
s.add_dependency(%q<redisk>, [">= 0.2.0"])
|
71
73
|
s.add_dependency(%q<shoulda>, [">= 2.10.2"])
|
74
|
+
s.add_dependency(%q<mocha>, [">= 0.9.8"])
|
72
75
|
end
|
73
76
|
end
|
74
77
|
|
data/test/test_resque-status.rb
CHANGED
@@ -71,6 +71,21 @@ class TestResqueStatus < Test::Unit::TestCase
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
+
context ".clear" do
|
75
|
+
setup do
|
76
|
+
Resque::Status.clear
|
77
|
+
end
|
78
|
+
|
79
|
+
should "clear any statuses" do
|
80
|
+
assert_nil Resque::Status.get(@uuid)
|
81
|
+
end
|
82
|
+
|
83
|
+
should "clear any recent statuses" do
|
84
|
+
assert Resque::Status.status_ids.empty?
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
|
74
89
|
context ".status_ids" do
|
75
90
|
should "return an array of job ids" do
|
76
91
|
assert Resque::Status.status_ids.is_a?(Array)
|
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.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Quint
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-20 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -52,6 +52,16 @@ dependencies:
|
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: 2.10.2
|
54
54
|
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mocha
|
57
|
+
type: :development
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 0.9.8
|
64
|
+
version:
|
55
65
|
description: resque-status is an extension to the resque queue system that provides simple trackable jobs. It provides a Resque::Status class which can set/get the statuses of jobs and a Resque::JobWithStatus class that when subclassed provides easily trackable/killable jobs.
|
56
66
|
email: aaron@quirkey.com
|
57
67
|
executables: []
|