|
2 | 2 |
|
3 | 3 | describe "Resque::MulitQueue" do |
4 | 4 | let(:redis) { Resque.redis } |
| 5 | + let(:pool) { Resque.pool } |
5 | 6 | let(:coder) { Resque::MultiJsonCoder.new } |
6 | 7 |
|
7 | 8 | before do |
8 | 9 | redis.flushall |
9 | 10 | end |
10 | 11 |
|
11 | 12 | it "poll times out and returns nil" do |
12 | | - foo = Resque::Queue.new 'foo', redis |
13 | | - bar = Resque::Queue.new 'bar', redis |
14 | | - queue = Resque::MultiQueue.new([foo, bar], redis) |
| 13 | + foo = Resque::Queue.new 'foo', pool |
| 14 | + bar = Resque::Queue.new 'bar', pool |
| 15 | + queue = Resque::MultiQueue.new([foo, bar], pool) |
15 | 16 | assert_nil queue.poll(1) |
16 | 17 | end |
17 | 18 |
|
18 | 19 | it "blocks on pop" do |
19 | | - foo = Resque::Queue.new 'foo', redis, coder |
20 | | - bar = Resque::Queue.new 'bar', redis, coder |
21 | | - queue = Resque::MultiQueue.new([foo, bar], redis) |
| 20 | + foo = Resque::Queue.new 'foo', pool, coder |
| 21 | + bar = Resque::Queue.new 'bar', pool, coder |
| 22 | + queue = Resque::MultiQueue.new([foo, bar], pool) |
22 | 23 | t = Thread.new { queue.pop } |
23 | 24 |
|
24 | 25 | job = { 'class' => 'GoodJob', 'args' => [35, 'tar'] } |
|
28 | 29 | end |
29 | 30 |
|
30 | 31 | it "nonblocking pop works" do |
31 | | - foo = Resque::Queue.new 'foo', redis, coder |
32 | | - bar = Resque::Queue.new 'bar', redis, coder |
33 | | - queue = Resque::MultiQueue.new([foo, bar], redis) |
| 32 | + foo = Resque::Queue.new 'foo', pool, coder |
| 33 | + bar = Resque::Queue.new 'bar', pool, coder |
| 34 | + queue = Resque::MultiQueue.new([foo, bar], pool) |
34 | 35 |
|
35 | 36 | job = { 'class' => 'GoodJob', 'args' => [35, 'tar'] } |
36 | 37 | bar << job |
|
39 | 40 | end |
40 | 41 |
|
41 | 42 | it "nonblocking pop doesn't block" do |
42 | | - foo = Resque::Queue.new 'foo', redis, coder |
43 | | - bar = Resque::Queue.new 'bar', redis, coder |
44 | | - queue = Resque::MultiQueue.new([foo, bar], redis) |
| 43 | + foo = Resque::Queue.new 'foo', pool, coder |
| 44 | + bar = Resque::Queue.new 'bar', pool, coder |
| 45 | + queue = Resque::MultiQueue.new([foo, bar], pool) |
45 | 46 |
|
46 | 47 | assert_raises ThreadError do |
47 | 48 | queue.pop(true) |
48 | 49 | end |
49 | 50 | end |
50 | 51 |
|
51 | 52 | it "blocks forever on pop" do |
52 | | - foo = Resque::Queue.new 'foo', redis, coder |
53 | | - bar = Resque::Queue.new 'bar', redis, coder |
54 | | - queue = Resque::MultiQueue.new([foo, bar], redis) |
| 53 | + foo = Resque::Queue.new 'foo', pool, coder |
| 54 | + bar = Resque::Queue.new 'bar', pool, coder |
| 55 | + queue = Resque::MultiQueue.new([foo, bar], pool) |
55 | 56 | assert_raises Timeout::Error do |
56 | 57 | Timeout::timeout(2) { queue.pop } |
57 | 58 | end |
58 | 59 | end |
59 | 60 |
|
60 | 61 | it "blocking pop processes queues in the order given" do |
61 | | - foo = Resque::Queue.new 'foo', redis, coder |
62 | | - bar = Resque::Queue.new 'bar', redis, coder |
63 | | - baz = Resque::Queue.new 'baz', redis, coder |
| 62 | + foo = Resque::Queue.new 'foo', pool, coder |
| 63 | + bar = Resque::Queue.new 'bar', pool, coder |
| 64 | + baz = Resque::Queue.new 'baz', pool, coder |
64 | 65 | queues = [foo, bar, baz] |
65 | | - queue = Resque::MultiQueue.new(queues, redis) |
| 66 | + queue = Resque::MultiQueue.new(queues, pool) |
66 | 67 | job = { 'class' => 'GoodJob', 'args' => [35, 'tar'] } |
67 | 68 |
|
68 | 69 | queues.each {|q| q << job } |
|
76 | 77 | end |
77 | 78 |
|
78 | 79 | it "nonblocking pop processes queues in the order given" do |
79 | | - foo = Resque::Queue.new 'foo', redis, coder |
80 | | - bar = Resque::Queue.new 'bar', redis, coder |
81 | | - baz = Resque::Queue.new 'baz', redis, coder |
| 80 | + foo = Resque::Queue.new 'foo', pool, coder |
| 81 | + bar = Resque::Queue.new 'bar', pool, coder |
| 82 | + baz = Resque::Queue.new 'baz', pool, coder |
82 | 83 | queues = [foo, bar, baz] |
83 | | - queue = Resque::MultiQueue.new(queues, redis) |
| 84 | + queue = Resque::MultiQueue.new(queues, pool) |
84 | 85 | job = { 'class' => 'GoodJob', 'args' => [35, 'tar'] } |
85 | 86 |
|
86 | 87 | queues.each {|q| q << job } |
|
0 commit comments