bunny 1.0.0.pre6 → 1.0.0.rc1
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 +4 -4
- data/ChangeLog.md +14 -0
- data/bunny.gemspec +1 -1
- data/lib/bunny/consumer_work_pool.rb +5 -2
- data/lib/bunny/version.rb +1 -1
- data/spec/higher_level_api/integration/basic_consume_with_objects_spec.rb +54 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c339ebb8c3d6a344a35638a8c685e7e5986719e1
|
4
|
+
data.tar.gz: e59fed7a29900b78dcaa9bf9e67ecb7824948054
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4172c0cf99d0fca5c2c5fa40d07a5ad82be055dea6867a4d19ecd54599059ea9a0ec16f317083ab4b27d0ad807159b57e5bbccf23440a1f5ef3a3bf3ee8baf08
|
7
|
+
data.tar.gz: e0d292b13d4bed1cb5bf046453dd11ad3562359364d0ee9c15ff4934ebaee461344c087ea63fa31e43f5fd56f0af8d2f54375c1cc7217c454aa3b55cfb873b89
|
data/ChangeLog.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## Changes between Bunny 1.0.0.pre6 and 1.0.0.pre7
|
2
|
+
|
3
|
+
### amq-protocol Update
|
4
|
+
|
5
|
+
Minimum `amq-protocol` version is now `1.8.0` which includes
|
6
|
+
a bug fix for messages exactly 128 Kb in size.
|
7
|
+
|
8
|
+
|
9
|
+
### Add timeout Bunny::ConsumerWorkPool#join
|
10
|
+
|
11
|
+
`Bunny::ConsumerWorkPool#join` now accepts an optional
|
12
|
+
timeout argument.
|
13
|
+
|
14
|
+
|
1
15
|
## Changes between Bunny 1.0.0.pre5 and 1.0.0.pre6
|
2
16
|
|
3
17
|
### Respect RABBITMQ_URL value
|
data/bunny.gemspec
CHANGED
@@ -4,6 +4,8 @@ module Bunny
|
|
4
4
|
# Thread pool that dispatches consumer deliveries. Not supposed to be shared between channels
|
5
5
|
# or threads.
|
6
6
|
#
|
7
|
+
# Every channel its own consumer pool.
|
8
|
+
#
|
7
9
|
# @private
|
8
10
|
class ConsumerWorkPool
|
9
11
|
|
@@ -11,6 +13,7 @@ module Bunny
|
|
11
13
|
# API
|
12
14
|
#
|
13
15
|
|
16
|
+
attr_reader :threads
|
14
17
|
attr_reader :size
|
15
18
|
|
16
19
|
def initialize(size = 1)
|
@@ -48,8 +51,8 @@ module Bunny
|
|
48
51
|
end
|
49
52
|
end
|
50
53
|
|
51
|
-
def join
|
52
|
-
@threads.each { |t| t.join }
|
54
|
+
def join(timeout = nil)
|
55
|
+
@threads.each { |t| t.join(timeout) }
|
53
56
|
end
|
54
57
|
|
55
58
|
def pause
|
data/lib/bunny/version.rb
CHANGED
@@ -0,0 +1,54 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "set"
|
3
|
+
|
4
|
+
describe Bunny::Queue, "#subscribe_with" do
|
5
|
+
let(:connection) do
|
6
|
+
c = Bunny.new(:user => "bunny_gem", :password => "bunny_password", :vhost => "bunny_testbed")
|
7
|
+
c.start
|
8
|
+
c
|
9
|
+
end
|
10
|
+
|
11
|
+
after :each do
|
12
|
+
connection.close if connection.open?
|
13
|
+
end
|
14
|
+
|
15
|
+
context "with explicit acknowledgements mode" do
|
16
|
+
class ExampleConsumer < Bunny::Consumer
|
17
|
+
def cancelled?
|
18
|
+
@cancelled
|
19
|
+
end
|
20
|
+
|
21
|
+
def handle_cancellation(_)
|
22
|
+
@cancelled = true
|
23
|
+
end
|
24
|
+
|
25
|
+
def call(delivery_info, metadata, payload)
|
26
|
+
# no-op
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# demonstrates that manual acknowledgement mode is actually
|
31
|
+
# used. MK.
|
32
|
+
it "requeues messages on channel closure" do
|
33
|
+
ch1 = connection.create_channel
|
34
|
+
ch2 = connection.create_channel
|
35
|
+
q1 = ch1.queue("bunny.tests.consumer_object1", :exclusive => true)
|
36
|
+
q2 = ch2.queue("bunny.tests.consumer_object1", :exclusive => true)
|
37
|
+
ec = ExampleConsumer.new(ch1, q1, "", false)
|
38
|
+
x = ch2.default_exchange
|
39
|
+
|
40
|
+
t = Thread.new do
|
41
|
+
50.times do
|
42
|
+
x.publish("hello", :routing_key => q2.name)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
t.abort_on_exception = true
|
46
|
+
|
47
|
+
q1.subscribe_with(ec, :ack => true)
|
48
|
+
sleep 2
|
49
|
+
ch1.close
|
50
|
+
|
51
|
+
q2.message_count.should == 50
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bunny
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Duncan
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2013-
|
15
|
+
date: 2013-10-01 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: amq-protocol
|
@@ -20,14 +20,14 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - '>='
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 1.
|
23
|
+
version: 1.8.0
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - '>='
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 1.
|
30
|
+
version: 1.8.0
|
31
31
|
description: Easy to use, feature complete Ruby client for RabbitMQ 2.0 and later
|
32
32
|
versions.
|
33
33
|
email:
|
@@ -134,6 +134,7 @@ files:
|
|
134
134
|
- spec/higher_level_api/integration/basic_ack_spec.rb
|
135
135
|
- spec/higher_level_api/integration/basic_cancel_spec.rb
|
136
136
|
- spec/higher_level_api/integration/basic_consume_spec.rb
|
137
|
+
- spec/higher_level_api/integration/basic_consume_with_objects_spec.rb
|
137
138
|
- spec/higher_level_api/integration/basic_get_spec.rb
|
138
139
|
- spec/higher_level_api/integration/basic_nack_spec.rb
|
139
140
|
- spec/higher_level_api/integration/basic_publish_spec.rb
|
@@ -226,6 +227,7 @@ test_files:
|
|
226
227
|
- spec/higher_level_api/integration/basic_ack_spec.rb
|
227
228
|
- spec/higher_level_api/integration/basic_cancel_spec.rb
|
228
229
|
- spec/higher_level_api/integration/basic_consume_spec.rb
|
230
|
+
- spec/higher_level_api/integration/basic_consume_with_objects_spec.rb
|
229
231
|
- spec/higher_level_api/integration/basic_get_spec.rb
|
230
232
|
- spec/higher_level_api/integration/basic_nack_spec.rb
|
231
233
|
- spec/higher_level_api/integration/basic_publish_spec.rb
|