resque-queue-stats 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: