resque-queue-stats 0.0.2 → 0.1.0

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.1.0
@@ -12,14 +12,22 @@ module Resque
12
12
  Resque.redis.set("stat:queue:#{@queue}:performed",0)
13
13
  end
14
14
 
15
- def reset_longest_job
16
- Resque.redis.set("stat:queue:#{@queue}:longest_job",0.0)
15
+ def failed_count
16
+ Resque.redis.get("stat:queue:#{@queue}:failed").to_i
17
+ end
18
+
19
+ def reset_failed_count
20
+ Resque.redis.set("stat:queue:#{@queue}:failed",0)
17
21
  end
18
22
 
19
23
  def longest_job
20
24
  Resque.redis.get("stat:queue:#{@queue}:longest_job").to_f
21
25
  end
22
26
 
27
+ def reset_longest_job
28
+ Resque.redis.set("stat:queue:#{@queue}:longest_job",0.0)
29
+ end
30
+
23
31
  def after_perform_queue_stats(*payload)
24
32
  Resque.redis.incr("stat:queue:#{@queue}:performed")
25
33
  end
@@ -38,6 +46,10 @@ module Resque
38
46
  end
39
47
  end
40
48
 
49
+ def on_failure_queue_stats(e,*payload)
50
+ Resque.redis.incr("stat:queue:#{@queue}:failed")
51
+ end
52
+
41
53
  end
42
54
  end
43
55
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{resque-queue-stats}
8
- s.version = "0.0.2"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["alanpeabody"]
12
- s.date = %q{2011-07-07}
12
+ s.date = %q{2011-07-08}
13
13
  s.description = %q{Track jobs processed by queue, longest queue time}
14
14
  s.email = %q{gapeabody@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -9,9 +9,18 @@ class Job
9
9
  end
10
10
  end
11
11
 
12
+ class FailedJob
13
+ extend Resque::Plugins::QueueStats
14
+ @queue = :failing_test
15
+
16
+ def self.perform(*payload)
17
+ raise 'Fail'
18
+ end
19
+ end
20
+
12
21
  class TestResqueQueueStats < Test::Unit::TestCase
13
22
  def setup
14
- @worker = Resque::Worker.new(:test)
23
+ @worker = Resque::Worker.new(:test, :failing_test)
15
24
  end
16
25
 
17
26
  def test_lint
@@ -33,6 +42,20 @@ class TestResqueQueueStats < Test::Unit::TestCase
33
42
 
34
43
  end
35
44
 
45
+ def test_failed_job_count
46
+
47
+ FailedJob.reset_failed_count
48
+
49
+ assert_equal 0, FailedJob.failed_count
50
+
51
+ 2.times { Resque.enqueue(Job) }
52
+ 3.times { Resque.enqueue(FailedJob) }
53
+ 5.times { @worker.work(0) }
54
+
55
+ assert_equal 3, FailedJob.failed_count
56
+
57
+ end
58
+
36
59
  def test_longest_job
37
60
 
38
61
  Job.reset_longest_job
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque-queue-stats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-07 00:00:00.000000000 -04:00
12
+ date: 2011-07-08 00:00:00.000000000 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: resque
17
- requirement: &12908900 !ruby/object:Gem::Requirement
17
+ requirement: &20961500 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.17.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *12908900
25
+ version_requirements: *20961500
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bundler
28
- requirement: &12908020 !ruby/object:Gem::Requirement
28
+ requirement: &20959800 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.0.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *12908020
36
+ version_requirements: *20959800
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: jeweler
39
- requirement: &12906680 !ruby/object:Gem::Requirement
39
+ requirement: &20938980 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.6.4
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *12906680
47
+ version_requirements: *20938980
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: ruby-debug19
50
- requirement: &12905860 !ruby/object:Gem::Requirement
50
+ requirement: &20936720 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *12905860
58
+ version_requirements: *20936720
59
59
  description: Track jobs processed by queue, longest queue time
60
60
  email: gapeabody@gmail.com
61
61
  executables: []
@@ -92,7 +92,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
92
  version: '0'
93
93
  segments:
94
94
  - 0
95
- hash: 2457026420395153601
95
+ hash: 1027824454737338688
96
96
  required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements: