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 +1 -1
- data/lib/resque/plugins/queue_stats.rb +14 -2
- data/resque-queue-stats.gemspec +2 -2
- data/test/test_queue_stats.rb +24 -1
- metadata +11 -11
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0
|
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
|
16
|
-
Resque.redis.
|
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
|
data/resque-queue-stats.gemspec
CHANGED
@@ -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
|
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-
|
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 = [
|
data/test/test_queue_stats.rb
CHANGED
@@ -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
|
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-
|
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: &
|
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: *
|
25
|
+
version_requirements: *20961500
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bundler
|
28
|
-
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: *
|
36
|
+
version_requirements: *20959800
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: jeweler
|
39
|
-
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: *
|
47
|
+
version_requirements: *20938980
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: ruby-debug19
|
50
|
-
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: *
|
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:
|
95
|
+
hash: 1027824454737338688
|
96
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|