resque-status 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.inspect}")
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>
@@ -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.0'
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 = {})
@@ -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)
@@ -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.0"
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-19}
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
 
@@ -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.0
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-19 00:00:00 -05:00
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: []