resque-analytics 0.6.1 → 0.6.2
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.
- checksums.yaml +4 -4
- data/Changelog +4 -0
- data/README.rdoc +9 -0
- data/VERSION +1 -1
- data/lib/resque/plugins/analytics.rb +9 -1
- data/resque-analytics-0.6.1.gem +0 -0
- data/resque-analytics.gemspec +4 -4
- metadata +3 -3
- data/resque-analytics-0.6.0.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e009321250d82eaca1eddd22e9d9ffd4fcca1652
|
4
|
+
data.tar.gz: ec141d2a85a1e9fb3208bf1bff59f0b42429dce9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23504a44a8604a81611391abc5bc27a6b876cc8b353b8cf22fead4cf98ef8c4fe19ecd886d302a1e47cdb7d4259aa44bd347e06ea1201808464a74fadb808846
|
7
|
+
data.tar.gz: 1911eb9a179f71e36dbb31dadfba27e4e306f5f59fc3d0a2db89f7839f746d514b0b9efdeb32238a0d50477663c8c046825f32c7b43e7b599b3fad8023256c3a
|
data/Changelog
CHANGED
data/README.rdoc
CHANGED
@@ -15,6 +15,11 @@ Wait is somewhat tricky, as Resque doesn't provide the proper hooks to calculate
|
|
15
15
|
replace Resque's push method, and Job initialization method. These methods now add a timestamp when items are added
|
16
16
|
to queues, and use the timestamp to calculate the total wait time, when an item is taken out of the queue.
|
17
17
|
|
18
|
+
Note that wait time calculation changes the Resque object that is placed in the queues. It means that code that relies on
|
19
|
+
object's exact value will fail. A known conflict is with ts-resque-delta[https://rubygems.org/gems/ts-resque-delta] which
|
20
|
+
deletes all queued jobs that have the same key. Adding a timestamp to each key, makes them unique, and conflicts with the
|
21
|
+
keys deletion. See the usage section below for further details.
|
22
|
+
|
18
23
|
== Installation
|
19
24
|
|
20
25
|
Requires resque '~> 1.25.1', and googlecharts '~> 1.6.8'
|
@@ -39,6 +44,10 @@ Extend Resque workers with:
|
|
39
44
|
|
40
45
|
On the Resque screens, you will find a new tab called "Analytics".
|
41
46
|
|
47
|
+
If you wish to stop collection wait time for certain classes, add the following to your resque.rb initializer:
|
48
|
+
Resque::Plugins::Analytics.ignore_classes = ['worker_class', ...]
|
49
|
+
where worker class represents a job class for which you do not want to collect wait time metrics.
|
50
|
+
|
42
51
|
== TODO
|
43
52
|
|
44
53
|
* Add tests
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.2
|
@@ -3,7 +3,7 @@ require 'resque'
|
|
3
3
|
module Resque
|
4
4
|
# Override Resque's push method to add a timestemp to each enqueued item
|
5
5
|
def push(queue, item)
|
6
|
-
item['analytics_timestamp'] = Time.now if item.is_a?(Hash)
|
6
|
+
item['analytics_timestamp'] = Time.now if item.is_a?(Hash) && !Resque::Plugins::Analytics.ignore_classes.include?(item[:class])
|
7
7
|
redis.pipelined do
|
8
8
|
watch_queue(queue)
|
9
9
|
redis.rpush "queue:#{queue}", encode(item)
|
@@ -31,6 +31,14 @@ module Resque
|
|
31
31
|
|
32
32
|
EXPIRE = 90 * 24 * 60
|
33
33
|
|
34
|
+
def self.ignore_classes=(class_array)
|
35
|
+
@ignore_classes = class_array
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.ignore_classes
|
39
|
+
@ignore_classes || []
|
40
|
+
end
|
41
|
+
|
34
42
|
def key(kpi)
|
35
43
|
date = Time.now.strftime("%y_%m_%d")
|
36
44
|
"analytics:#{kpi}:#{self.name}:#{date}"
|
Binary file
|
data/resque-analytics.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: resque-analytics 0.6.
|
5
|
+
# stub: resque-analytics 0.6.2 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "resque-analytics"
|
9
|
-
s.version = "0.6.
|
9
|
+
s.version = "0.6.2"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = ["Nir Tzur"]
|
13
|
-
s.date = "2014-06-
|
13
|
+
s.date = "2014-06-11"
|
14
14
|
s.description = "Shows Resque jobs key performance indciators over time"
|
15
15
|
s.email = "nir.tzur@samanage.com"
|
16
16
|
s.extra_rdoc_files = [
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
"lib/resque-analytics/server.rb",
|
31
31
|
"lib/resque-analytics/server/views/analytics.erb",
|
32
32
|
"lib/resque/plugins/analytics.rb",
|
33
|
-
"resque-analytics-0.6.
|
33
|
+
"resque-analytics-0.6.1.gem",
|
34
34
|
"resque-analytics.gemspec"
|
35
35
|
]
|
36
36
|
s.homepage = "http://github.com/nirtzur/resque-analytics"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque-analytics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nir Tzur
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: resque
|
@@ -100,7 +100,7 @@ files:
|
|
100
100
|
- lib/resque-analytics/server.rb
|
101
101
|
- lib/resque-analytics/server/views/analytics.erb
|
102
102
|
- lib/resque/plugins/analytics.rb
|
103
|
-
- resque-analytics-0.6.
|
103
|
+
- resque-analytics-0.6.1.gem
|
104
104
|
- resque-analytics.gemspec
|
105
105
|
homepage: http://github.com/nirtzur/resque-analytics
|
106
106
|
licenses:
|
data/resque-analytics-0.6.0.gem
DELETED
Binary file
|