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.
@@ -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: []