mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
Properly handle namespaced queue names in Fetcher's UnitOfWork, fixes #744
This commit is contained in:
parent
a129a444fd
commit
b9ae174755
2 changed files with 6 additions and 5 deletions
|
@ -78,13 +78,13 @@ module Sidekiq
|
||||||
Sidekiq.logger.debug { "Re-queueing terminated jobs" }
|
Sidekiq.logger.debug { "Re-queueing terminated jobs" }
|
||||||
jobs_to_requeue = {}
|
jobs_to_requeue = {}
|
||||||
inprogress.each do |unit_of_work|
|
inprogress.each do |unit_of_work|
|
||||||
jobs_to_requeue[unit_of_work.queue] ||= []
|
jobs_to_requeue[unit_of_work.queue_name] ||= []
|
||||||
jobs_to_requeue[unit_of_work.queue] << unit_of_work.message
|
jobs_to_requeue[unit_of_work.queue_name] << unit_of_work.message
|
||||||
end
|
end
|
||||||
|
|
||||||
Sidekiq.redis do |conn|
|
Sidekiq.redis do |conn|
|
||||||
jobs_to_requeue.each do |queue, jobs|
|
jobs_to_requeue.each do |queue, jobs|
|
||||||
conn.rpush(queue, jobs)
|
conn.rpush("queue:#{queue}", jobs)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Sidekiq.logger.info("Pushed #{inprogress.size} messages back to Redis")
|
Sidekiq.logger.info("Pushed #{inprogress.size} messages back to Redis")
|
||||||
|
@ -101,7 +101,7 @@ module Sidekiq
|
||||||
|
|
||||||
def requeue
|
def requeue
|
||||||
Sidekiq.redis do |conn|
|
Sidekiq.redis do |conn|
|
||||||
conn.rpush(queue, message)
|
conn.rpush("queue:#{queue_name}", message)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,6 +4,7 @@ require 'sidekiq/fetch'
|
||||||
class TestFetcher < MiniTest::Unit::TestCase
|
class TestFetcher < MiniTest::Unit::TestCase
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
|
Sidekiq.redis = { :namespace => 'fuzzy' }
|
||||||
Sidekiq.redis do |conn|
|
Sidekiq.redis do |conn|
|
||||||
conn.flushdb
|
conn.flushdb
|
||||||
conn.rpush('queue:basic', 'msg')
|
conn.rpush('queue:basic', 'msg')
|
||||||
|
@ -35,7 +36,7 @@ class TestFetcher < MiniTest::Unit::TestCase
|
||||||
assert_equal 0, q1.size
|
assert_equal 0, q1.size
|
||||||
assert_equal 0, q2.size
|
assert_equal 0, q2.size
|
||||||
uow = Sidekiq::BasicFetch::UnitOfWork
|
uow = Sidekiq::BasicFetch::UnitOfWork
|
||||||
Sidekiq::BasicFetch.bulk_requeue([uow.new('queue:foo', 'bob'), uow.new('queue:foo', 'bar'), uow.new('queue:bar', 'widget')])
|
Sidekiq::BasicFetch.bulk_requeue([uow.new('fuzzy:queue:foo', 'bob'), uow.new('fuzzy:queue:foo', 'bar'), uow.new('fuzzy:queue:bar', 'widget')])
|
||||||
assert_equal 2, q1.size
|
assert_equal 2, q1.size
|
||||||
assert_equal 1, q2.size
|
assert_equal 1, q2.size
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue