check_resque_paranoid 1.0.0 → 1.0.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.
- data/README.md +10 -1
- data/bin/check_resque +1 -1
- data/check_resque_paranoid.gemspec +1 -1
- data/lib/nagios_resque.rb +1 -1
- data/lib/nagios_resque/check.rb +36 -5
- data/lib/nagios_resque/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -2,7 +2,16 @@
|
|
2
2
|
|
3
3
|
It checks resque by putting given job in high queue and expects the job will update key with timestamp.
|
4
4
|
|
5
|
-
|
5
|
+
## Install
|
6
|
+
|
7
|
+
In Gemfile:
|
8
|
+
gem "check_resque_paranoid", :require => 'nagios_resque'
|
9
|
+
|
10
|
+
Or withoud Bundler:
|
11
|
+
```
|
12
|
+
$ gem install check_resque_paranoid
|
13
|
+
$ check_resque -n 'resque:production' -j 'NagiosResque::Job'
|
14
|
+
```
|
6
15
|
|
7
16
|
## Default Job
|
8
17
|
|
data/bin/check_resque
CHANGED
data/lib/nagios_resque.rb
CHANGED
data/lib/nagios_resque/check.rb
CHANGED
@@ -8,7 +8,19 @@ module NagiosResque
|
|
8
8
|
@warning = options[:warn]
|
9
9
|
@critical = options[:crit]
|
10
10
|
|
11
|
-
|
11
|
+
@redis = ResqueRedis.new(:host => @host, :port => @port, :namespace => @namespace)
|
12
|
+
end
|
13
|
+
|
14
|
+
# It is just (:class => @job, :args => []).to_json
|
15
|
+
# Don't want to depend on resque gem which itself has many dependecies
|
16
|
+
def payload
|
17
|
+
%Q({"class":"#{@job}","args":[]})
|
18
|
+
end
|
19
|
+
|
20
|
+
def requeue
|
21
|
+
@redis.sadd 'queues', 'high'
|
22
|
+
@redis.lrem 'queue:high', 0, payload
|
23
|
+
@redis.rpush 'queue:high', payload
|
12
24
|
end
|
13
25
|
|
14
26
|
def warning?
|
@@ -21,7 +33,7 @@ module NagiosResque
|
|
21
33
|
end
|
22
34
|
|
23
35
|
def last_run_at
|
24
|
-
if time =
|
36
|
+
if time = @redis.get(NAGIOS_RESQUE_TIMESTAMP_KEY)
|
25
37
|
Integer(time)
|
26
38
|
end
|
27
39
|
end
|
@@ -37,9 +49,28 @@ module NagiosResque
|
|
37
49
|
end
|
38
50
|
end
|
39
51
|
|
40
|
-
|
41
|
-
|
42
|
-
|
52
|
+
class ResqueRedis
|
53
|
+
def initialize(options)
|
54
|
+
@namespace = options.delete(:namespace)
|
55
|
+
@redis = Redis.new options.merge(:thread_safe => true)
|
56
|
+
end
|
57
|
+
|
58
|
+
def namespaced(key)
|
59
|
+
"#{@namespace}:#{key}"
|
60
|
+
end
|
61
|
+
|
62
|
+
def get(key)
|
63
|
+
@redis.get namespaced(key)
|
64
|
+
end
|
65
|
+
def sadd(key, value)
|
66
|
+
@redis.sadd namespaced(key), value
|
67
|
+
end
|
68
|
+
def lrem(key, count, value)
|
69
|
+
@redis.lrem namespaced(key), count, value
|
70
|
+
end
|
71
|
+
def rpush(key, value)
|
72
|
+
@redis.rpush namespaced(key), value
|
73
|
+
end
|
43
74
|
end
|
44
75
|
|
45
76
|
def ok_message
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: check_resque_paranoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,7 +12,7 @@ cert_chain: []
|
|
12
12
|
date: 2013-06-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: redis
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|