resque_stuck_queue 0.3.5 → 0.3.6
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 +5 -5
- data/Rakefile +2 -0
- data/lib/resque_stuck_queue.rb +1 -1
- data/lib/resque_stuck_queue/heartbeat_job.rb +2 -1
- data/lib/resque_stuck_queue/version.rb +1 -1
- data/test/test_helper.rb +1 -1
- data/test/test_integration.rb +4 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
SHA1:
|
3
|
-
data.tar.gz: cfbe93e242cdb25b7d6783cbe4fe4ae43f3e55c0
|
4
|
-
metadata.gz: a1e36f35d1b8e95afb3102b67bc1e28234d2bd4f
|
5
2
|
SHA512:
|
6
|
-
data.tar.gz:
|
7
|
-
metadata.gz:
|
3
|
+
data.tar.gz: 2055181649b94897f6bfc18817199a35bf9a0324042da9a6ed15653bea22d459a7e5ba062ec57294c557d0ed2ab04df418bdce4b01f53e39ecae6771e7a39e16
|
4
|
+
metadata.gz: 3fe6ae6af383d55311d5075d85b86b73fe2955c3f7149ab23c5e0adf61a999b4fdd706951efc3e39594786c0f4c20e3208c4037f9e705fe97ac301e4f04edca4
|
5
|
+
SHA1:
|
6
|
+
data.tar.gz: 3a99f92f2847757bb1db57e7c62bc80bc430f2c4
|
7
|
+
metadata.gz: 940d63172246826ea3fbf12d883ecf44a5f76e53
|
data/Rakefile
CHANGED
@@ -17,6 +17,8 @@ task :'resque:setup' do
|
|
17
17
|
# https://github.com/resque/resque/issues/773
|
18
18
|
# have the jobs loaded in memory
|
19
19
|
Dir["./test/resque/*.rb"].each {|file| require file}
|
20
|
+
# load project
|
21
|
+
Dir["./lib/resque_stuck_queue.rb"].each {|file| require file}
|
20
22
|
end
|
21
23
|
|
22
24
|
require 'resque_scheduler/tasks'
|
data/lib/resque_stuck_queue.rb
CHANGED
@@ -145,7 +145,7 @@ module Resque
|
|
145
145
|
queues.each do |queue_name|
|
146
146
|
# Redis::Namespace.new support as well as Redis.new
|
147
147
|
namespace = redis.respond_to?(:namespace) ? redis.namespace : nil
|
148
|
-
Resque.enqueue_to(queue_name, HeartbeatJob,
|
148
|
+
Resque.enqueue_to(queue_name, HeartbeatJob, heartbeat_key_for(queue_name), redis.client.host, redis.client.port, namespace )
|
149
149
|
end
|
150
150
|
end
|
151
151
|
end
|
@@ -6,9 +6,10 @@ module Resque
|
|
6
6
|
attr_accessor :redis
|
7
7
|
|
8
8
|
def perform(*args)
|
9
|
-
keyname,host,port,namespace = args
|
9
|
+
keyname,host,port,namespace = *args
|
10
10
|
@redis = Redis::Namespace.new(namespace, :redis => Redis.new(:host => host, :port => port))
|
11
11
|
@redis.set(keyname, Time.now.to_i)
|
12
|
+
Resque::StuckQueue.logger.info "successfully updated key #{keyname}"
|
12
13
|
end
|
13
14
|
|
14
15
|
end
|
data/test/test_helper.rb
CHANGED
@@ -13,7 +13,7 @@ module TestHelper
|
|
13
13
|
extend self
|
14
14
|
|
15
15
|
def run_resque(queue_name = "*")
|
16
|
-
pid = fork { exec("export QUEUE=#{queue_name}; bundle exec rake --trace resque:work") }
|
16
|
+
pid = fork { exec("export INTERVAL=1 QUEUE=#{queue_name}; bundle exec rake --trace resque:work") }
|
17
17
|
sleep 3 # wait for resque to boot up
|
18
18
|
pid
|
19
19
|
end
|
data/test/test_integration.rb
CHANGED
@@ -55,6 +55,7 @@ class TestIntegration < Minitest::Test
|
|
55
55
|
def test_resque_enqueues_a_job_does_not_trigger
|
56
56
|
puts "#{__method__}"
|
57
57
|
|
58
|
+
Resque::Failure.clear
|
58
59
|
Resque::StuckQueue.config[:trigger_timeout] = 10
|
59
60
|
Resque::StuckQueue.config[:heartbeat] = 1
|
60
61
|
@triggered = false
|
@@ -62,9 +63,8 @@ class TestIntegration < Minitest::Test
|
|
62
63
|
start_and_stop_loops_after(5)
|
63
64
|
Resque::StuckQueue.redis.del(SetRedisKey::NAME)
|
64
65
|
Resque.enqueue_to(:app, SetRedisKey)
|
65
|
-
sleep 3
|
66
|
-
|
67
|
-
# job ran successfully, so don't trigger
|
66
|
+
sleep 3 # job ran successfully, so don't trigger
|
67
|
+
assert_nil Resque::Failure.all, "Resque hearbeat job cant fail: #{Resque::Failure.all.inspect}"
|
68
68
|
assert_equal @triggered, false
|
69
69
|
end
|
70
70
|
|
@@ -85,6 +85,7 @@ class TestIntegration < Minitest::Test
|
|
85
85
|
|
86
86
|
Resque::StuckQueue.config[:trigger_timeout] = 2 # won't allow waiting too much and will complain (eg trigger) sooner than later
|
87
87
|
Resque::StuckQueue.config[:heartbeat] = 1
|
88
|
+
Resque::StuckQueue.config[:redis] = Redis::Namespace.new(nil, :redis => Redis.new)
|
88
89
|
|
89
90
|
begin
|
90
91
|
Resque::StuckQueue.config[:heartbeat_job] = proc { Resque.enqueue_to(:app, Resque::StuckQueue::HeartbeatJob, Resque::StuckQueue.heartbeat_key_for(:app)) }
|