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 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
- ```$ check_resque -n 'resque:production' -j 'NagiosResque::Job'
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
@@ -24,7 +24,7 @@
24
24
 
25
25
  begin
26
26
  require 'rubygems'
27
- gem 'nagios_resque'
27
+ gem 'check_resque_paranoid'
28
28
  rescue LoadError
29
29
  end
30
30
 
@@ -27,6 +27,6 @@ Gem::Specification.new do |s|
27
27
 
28
28
  s.executables = %w[check_resque]
29
29
 
30
- s.add_dependency('resque')
30
+ s.add_dependency('redis')
31
31
  s.add_dependency('nagiosplugin')
32
32
  end
data/lib/nagios_resque.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'resque'
1
+ require 'redis'
2
2
  require 'nagiosplugin'
3
3
  require 'nagiosplugin/default_options'
4
4
  require 'nagios_resque/version'
@@ -8,7 +8,19 @@ module NagiosResque
8
8
  @warning = options[:warn]
9
9
  @critical = options[:crit]
10
10
 
11
- Resque.redis = "#{@host}:#{@port}/#{@namespace}"
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 = Resque.redis.get(NAGIOS_RESQUE_TIMESTAMP_KEY)
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
- def requeue
41
- Resque::Job.destroy(:high, @job)
42
- Resque::Job.create(:high, @job)
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
@@ -1,3 +1,3 @@
1
1
  module NagiosResque
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
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.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: resque
15
+ name: redis
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements: