Skip to content

Commit 2be2099

Browse files
committed
Revert "Merge pull request resque#565 from tenderlove/resque"
This reverts commit 02156b1, reversing changes made to d393148.
1 parent 02156b1 commit 2be2099

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

lib/resque/multi_queue.rb

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ def initialize(queues, redis)
1616

1717
@queues = {}
1818
@redis = redis
19-
@q_list = queues
2019

2120
queues.each do |queue|
2221
key = @redis.is_a?(Redis::Namespace) ? "#{@redis.namespace}:" : ""
@@ -33,25 +32,25 @@ def initialize(queues, redis)
3332
def pop(non_block = false)
3433
if non_block
3534
synchronize do
36-
queue_name, payload = @redis.blpop(*(queue_names + [0]))
35+
value = nil
3736

38-
raise ThreadError unless queue_name && payload
39-
@queues[queue_name].decode(payload)
37+
@queues.values.each do |queue|
38+
begin
39+
return queue.pop(true)
40+
rescue ThreadError
41+
end
42+
end
43+
44+
raise ThreadError
4045
end
4146
else
47+
queue_names = @queues.values.map {|queue| queue.redis_name }
4248
synchronize do
4349
value = @redis.blpop(*(queue_names + [1])) until value
4450
queue_name, payload = value
4551
@queues[queue_name].decode(payload)
4652
end
4753
end
4854
end
49-
50-
private
51-
def queue_names
52-
# possibly refactor this to set an ivar of the list in the constructor.
53-
# We don't need to calculate the list on every call to `pop`.
54-
@q_list.map {|queue| queue.redis_name }
55-
end
5655
end
5756
end

0 commit comments

Comments
 (0)