resque_stuck_queue 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA512:
3
- data.tar.gz: c61972d3ea6fbc28feaf6b720c24fa48c3d78ce06967e2b00762fb5dd3dd6d6ad1014616300b37299ee693b9c4a25dcddfc30a923b85285b35d24fe383639a6c
4
- metadata.gz: f3e6cb7aeb0843612de8ccaccd6fcea4efab227d525ca3dcfca053d70e13a229ddd24ae8b43dc4cdc9b5c6bf3bd940fd1fa26dc8657f2ba248fc3fdbe85c590d
5
2
  SHA1:
6
- data.tar.gz: 1347fccc7e4b37ea0a0626a176d904c223c4d21b
7
- metadata.gz: 9f217dadd17a7ff267b66b858330218c1e9f24fc
3
+ metadata.gz: 2021e2bdbc288908d56f88f56999a9a059ad3ed1
4
+ data.tar.gz: 05ec2dbecf9dc7349ab57cff706643f506651577
5
+ SHA512:
6
+ metadata.gz: 8e2a1730aade6ca73b6f4d73c132af0826e80f6d9918c94a630683cd577557aac75c7a12becb1cabe8f7c5f13c09da48bf0a4383e7d3e1b5a25ce227f42fc419
7
+ data.tar.gz: 69ec4f75eb76a026529ee1a34768db1fe081360c2267e67937ecda4224ddebd223bd67e295775bd45fd75121c04f3e2acbb2af9d916b3a6b56c77ee5113e6227
@@ -25,7 +25,7 @@ module Resque
25
25
  end
26
26
 
27
27
  def redis
28
- @redis ||= (config[:redis] || raise(Config::NoConfigError, "Must configure a redis instance to use. Please set a Redis or Redis::Namespace."))
28
+ @redis ||= config[:redis]
29
29
  HeartbeatJob.redis = @redis
30
30
  end
31
31
 
@@ -65,6 +65,7 @@ module Resque
65
65
  @running = true
66
66
  @stopped = false
67
67
  @threads = []
68
+ config.validate_required_keys!
68
69
  config.freeze
69
70
 
70
71
  reset_keys
@@ -41,10 +41,19 @@ module Resque
41
41
  super(k)
42
42
  end
43
43
 
44
+ REQUIRED_KEYS = [:redis]
45
+ def validate_required_keys!
46
+ REQUIRED_KEYS.each do |k|
47
+ if self[k].nil?
48
+ raise NoConfigError, "You must set config[:#{k}]"
49
+ end
50
+ end
51
+ end
52
+
44
53
  class NoConfigError < StandardError; end
45
54
 
46
55
  def validate_key_exists!(k)
47
- if ! OPTIONS.include?(k)
56
+ if !OPTIONS.include?(k)
48
57
  raise NoConfigError, "no such config key #{k} exists!"
49
58
  end
50
59
  end
@@ -1,5 +1,5 @@
1
1
  module Resque
2
2
  module StuckQueue
3
- VERSION = "0.2.2"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
data/test/test_config.rb CHANGED
@@ -8,6 +8,11 @@ class TestConfig < Minitest::Test
8
8
  Resque::StuckQueue.config[:trigger_timeout] = 1
9
9
  Resque::StuckQueue.config[:heartbeat] = 1
10
10
  Resque::StuckQueue.config[:abort_on_exception] = true
11
+ Resque::StuckQueue.config[:redis] = Redis.new
12
+ end
13
+
14
+ def teardown
15
+ Resque::StuckQueue.reset!
11
16
  end
12
17
 
13
18
  def test_config_has_descriptions
@@ -25,10 +30,21 @@ class TestConfig < Minitest::Test
25
30
  puts "#{__method__}"
26
31
  begin
27
32
  Resque::StuckQueue.config[:logger] = Logger.new($stdout)
28
- start_and_stop_loops_after(2)
33
+ start_and_stop_loops_after(1)
29
34
  assert true, "should not have raised"
30
- rescue
31
- assert false, "should have succeeded with good logger"
35
+ rescue => e
36
+ assert false, "should have succeeded with good logger: #{e.inspect}\n#{e.backtrace.join("\n")}"
37
+ end
38
+ end
39
+
40
+ def test_must_set_redis
41
+ puts "#{__method__}"
42
+ Resque::StuckQueue.config[:redis] = nil
43
+ begin
44
+ start_and_stop_loops_after(1)
45
+ assert false, "redis cannot be nil"
46
+ rescue Resque::StuckQueue::Config::NoConfigError => e
47
+ assert true, "redis cannot be nil: #{e.inspect}\n#{e.backtrace.join("\n")}"
32
48
  end
33
49
  end
34
50
 
@@ -45,10 +45,10 @@ class TestIntegration < Minitest::Test
45
45
  end
46
46
 
47
47
  def teardown
48
+ Resque::StuckQueue.reset!
48
49
  if self.class.tests_done?
49
50
  hax_kill_resque
50
51
  Process.waitall
51
- return
52
52
  end
53
53
  end
54
54
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque_stuck_queue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shai Rosenfeld
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2014-01-29 00:00:00 Z
12
+ date: 2014-01-30 00:00:00 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis-mutex