resque_stuck_queue 0.2.2 → 0.3.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.
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