beetle 0.3.2 → 0.3.3
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 +7 -0
- data/beetle.gemspec +0 -10
- data/lib/beetle/message.rb +6 -0
- data/lib/beetle/version.rb +1 -1
- data/test/beetle/message_test.rb +10 -0
- metadata +47 -76
- data/examples/test_publisher.rb +0 -32
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 12a4f605d9f1b696f4bdd8eec2e0fded67d4eb71
|
4
|
+
data.tar.gz: f3933a999150ca737d898e5acd102fa4bcc967fa
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 27ef49aa1ec3878f8369be48fb5cc20a49dfacd4ef1a666dc2120ccbca325d92edd0bb39fb6d241a9bdfd6a367645c457511ce97358bcede3203baf7318d2477
|
7
|
+
data.tar.gz: 55913199741db4a0affd972691927045b84a2ad133346234e2e6609369e1d3315d9a285d049d451bae24ebfe5ed6d4fa9cbd707224241fcecb53c0cfda6666f8
|
data/beetle.gemspec
CHANGED
@@ -21,16 +21,6 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.rubygems_version = "1.3.7"
|
22
22
|
s.test_files = Dir['test/**/*.rb']
|
23
23
|
|
24
|
-
s.post_install_message = <<-INFO
|
25
|
-
*********************************************************************************************
|
26
|
-
|
27
|
-
Please install the SystemTimer gem if you're running a ruby version < 1.9:
|
28
|
-
`gem install SystemTimer -v '=1.2.1'`
|
29
|
-
See: http://ph7spot.com/musings/system-timer
|
30
|
-
|
31
|
-
*********************************************************************************************
|
32
|
-
INFO
|
33
|
-
|
34
24
|
s.specification_version = 3
|
35
25
|
s.add_runtime_dependency("uuid4r", [">= 0.1.2"])
|
36
26
|
s.add_runtime_dependency("bunny", ["= 0.7.9"])
|
data/lib/beetle/message.rb
CHANGED
@@ -100,6 +100,12 @@ module Beetle
|
|
100
100
|
opts
|
101
101
|
end
|
102
102
|
|
103
|
+
# the routing key
|
104
|
+
def routing_key
|
105
|
+
header.routing_key
|
106
|
+
end
|
107
|
+
alias_method :key, :routing_key
|
108
|
+
|
103
109
|
# unique message id. used to form various keys in the deduplication store.
|
104
110
|
def msg_id
|
105
111
|
@msg_id ||= "msgid:#{queue}:#{uuid}"
|
data/lib/beetle/version.rb
CHANGED
data/test/beetle/message_test.rb
CHANGED
@@ -774,4 +774,14 @@ module Beetle
|
|
774
774
|
end
|
775
775
|
end
|
776
776
|
|
777
|
+
|
778
|
+
class RoutingKeyTest < Test::Unit::TestCase
|
779
|
+
test "returns the routing key" do
|
780
|
+
header = header_with_params({})
|
781
|
+
header.stubs(:routing_key).returns("foo")
|
782
|
+
message = Message.new("somequeue", header, "")
|
783
|
+
assert_equal "foo", message.routing_key
|
784
|
+
assert_equal "foo", message.key # alias
|
785
|
+
end
|
786
|
+
end
|
777
787
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beetle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.3.2
|
4
|
+
version: 0.3.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Stefan Kaes
|
@@ -13,173 +12,153 @@ authors:
|
|
13
12
|
autorequire:
|
14
13
|
bindir: bin
|
15
14
|
cert_chain: []
|
16
|
-
date: 2013-
|
15
|
+
date: 2013-12-02 00:00:00.000000000 Z
|
17
16
|
dependencies:
|
18
17
|
- !ruby/object:Gem::Dependency
|
19
18
|
name: uuid4r
|
20
|
-
|
21
|
-
requirement: !ruby/object:Gem::Requirement
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
20
|
requirements:
|
23
|
-
- -
|
21
|
+
- - '>='
|
24
22
|
- !ruby/object:Gem::Version
|
25
23
|
version: 0.1.2
|
26
|
-
|
27
|
-
|
24
|
+
type: :runtime
|
25
|
+
requirement: !ruby/object:Gem::Requirement
|
28
26
|
requirements:
|
29
|
-
- -
|
27
|
+
- - '>='
|
30
28
|
- !ruby/object:Gem::Version
|
31
29
|
version: 0.1.2
|
32
|
-
none: false
|
33
30
|
prerelease: false
|
34
31
|
- !ruby/object:Gem::Dependency
|
35
32
|
name: bunny
|
36
|
-
|
37
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
34
|
requirements:
|
39
35
|
- - '='
|
40
36
|
- !ruby/object:Gem::Version
|
41
37
|
version: 0.7.9
|
42
|
-
|
43
|
-
|
38
|
+
type: :runtime
|
39
|
+
requirement: !ruby/object:Gem::Requirement
|
44
40
|
requirements:
|
45
41
|
- - '='
|
46
42
|
- !ruby/object:Gem::Version
|
47
43
|
version: 0.7.9
|
48
|
-
none: false
|
49
44
|
prerelease: false
|
50
45
|
- !ruby/object:Gem::Dependency
|
51
46
|
name: redis
|
52
|
-
|
53
|
-
requirement: !ruby/object:Gem::Requirement
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
48
|
requirements:
|
55
|
-
- -
|
49
|
+
- - '>='
|
56
50
|
- !ruby/object:Gem::Version
|
57
51
|
version: 2.2.2
|
58
52
|
- - <
|
59
53
|
- !ruby/object:Gem::Version
|
60
54
|
version: '3.1'
|
61
|
-
|
62
|
-
|
55
|
+
type: :runtime
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
63
57
|
requirements:
|
64
|
-
- -
|
58
|
+
- - '>='
|
65
59
|
- !ruby/object:Gem::Version
|
66
60
|
version: 2.2.2
|
67
61
|
- - <
|
68
62
|
- !ruby/object:Gem::Version
|
69
63
|
version: '3.1'
|
70
|
-
none: false
|
71
64
|
prerelease: false
|
72
65
|
- !ruby/object:Gem::Dependency
|
73
66
|
name: hiredis
|
74
|
-
|
75
|
-
requirement: !ruby/object:Gem::Requirement
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
76
68
|
requirements:
|
77
69
|
- - '='
|
78
70
|
- !ruby/object:Gem::Version
|
79
71
|
version: 0.4.5
|
80
|
-
|
81
|
-
|
72
|
+
type: :runtime
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
82
74
|
requirements:
|
83
75
|
- - '='
|
84
76
|
- !ruby/object:Gem::Version
|
85
77
|
version: 0.4.5
|
86
|
-
none: false
|
87
78
|
prerelease: false
|
88
79
|
- !ruby/object:Gem::Dependency
|
89
80
|
name: amq-client
|
90
|
-
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
82
|
requirements:
|
93
83
|
- - '='
|
94
84
|
- !ruby/object:Gem::Version
|
95
85
|
version: 1.0.2
|
96
|
-
|
97
|
-
|
86
|
+
type: :runtime
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
98
88
|
requirements:
|
99
89
|
- - '='
|
100
90
|
- !ruby/object:Gem::Version
|
101
91
|
version: 1.0.2
|
102
|
-
none: false
|
103
92
|
prerelease: false
|
104
93
|
- !ruby/object:Gem::Dependency
|
105
94
|
name: amq-protocol
|
106
|
-
|
107
|
-
requirement: !ruby/object:Gem::Requirement
|
95
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
96
|
requirements:
|
109
97
|
- - '='
|
110
98
|
- !ruby/object:Gem::Version
|
111
99
|
version: 1.6.0
|
112
|
-
|
113
|
-
|
100
|
+
type: :runtime
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
114
102
|
requirements:
|
115
103
|
- - '='
|
116
104
|
- !ruby/object:Gem::Version
|
117
105
|
version: 1.6.0
|
118
|
-
none: false
|
119
106
|
prerelease: false
|
120
107
|
- !ruby/object:Gem::Dependency
|
121
108
|
name: amqp
|
122
|
-
|
123
|
-
requirement: !ruby/object:Gem::Requirement
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
110
|
requirements:
|
125
111
|
- - '='
|
126
112
|
- !ruby/object:Gem::Version
|
127
113
|
version: 1.0.2
|
128
|
-
|
129
|
-
|
114
|
+
type: :runtime
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
130
116
|
requirements:
|
131
117
|
- - '='
|
132
118
|
- !ruby/object:Gem::Version
|
133
119
|
version: 1.0.2
|
134
|
-
none: false
|
135
120
|
prerelease: false
|
136
121
|
- !ruby/object:Gem::Dependency
|
137
122
|
name: activesupport
|
138
|
-
|
139
|
-
requirement: !ruby/object:Gem::Requirement
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
140
124
|
requirements:
|
141
|
-
- -
|
125
|
+
- - '>='
|
142
126
|
- !ruby/object:Gem::Version
|
143
127
|
version: 2.3.4
|
144
|
-
|
145
|
-
|
128
|
+
type: :runtime
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
146
130
|
requirements:
|
147
|
-
- -
|
131
|
+
- - '>='
|
148
132
|
- !ruby/object:Gem::Version
|
149
133
|
version: 2.3.4
|
150
|
-
none: false
|
151
134
|
prerelease: false
|
152
135
|
- !ruby/object:Gem::Dependency
|
153
136
|
name: eventmachine_httpserver
|
154
|
-
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
156
138
|
requirements:
|
157
|
-
- -
|
139
|
+
- - '>='
|
158
140
|
- !ruby/object:Gem::Version
|
159
141
|
version: 0.2.1
|
160
|
-
|
161
|
-
|
142
|
+
type: :runtime
|
143
|
+
requirement: !ruby/object:Gem::Requirement
|
162
144
|
requirements:
|
163
|
-
- -
|
145
|
+
- - '>='
|
164
146
|
- !ruby/object:Gem::Version
|
165
147
|
version: 0.2.1
|
166
|
-
none: false
|
167
148
|
prerelease: false
|
168
149
|
- !ruby/object:Gem::Dependency
|
169
150
|
name: daemons
|
170
|
-
|
171
|
-
requirement: !ruby/object:Gem::Requirement
|
151
|
+
version_requirements: !ruby/object:Gem::Requirement
|
172
152
|
requirements:
|
173
|
-
- -
|
153
|
+
- - '>='
|
174
154
|
- !ruby/object:Gem::Version
|
175
155
|
version: 1.0.10
|
176
|
-
|
177
|
-
|
156
|
+
type: :runtime
|
157
|
+
requirement: !ruby/object:Gem::Requirement
|
178
158
|
requirements:
|
179
|
-
- -
|
159
|
+
- - '>='
|
180
160
|
- !ruby/object:Gem::Version
|
181
161
|
version: 1.0.10
|
182
|
-
none: false
|
183
162
|
prerelease: false
|
184
163
|
description: A highly available, reliable messaging infrastructure
|
185
164
|
email: opensource@xing.com
|
@@ -204,7 +183,6 @@ files:
|
|
204
183
|
- examples/redundant.rb
|
205
184
|
- examples/rpc.rb
|
206
185
|
- examples/simple.rb
|
207
|
-
- examples/test_publisher.rb
|
208
186
|
- lib/beetle/base.rb
|
209
187
|
- lib/beetle/client.rb
|
210
188
|
- lib/beetle/commands/configuration_client.rb
|
@@ -267,32 +245,25 @@ files:
|
|
267
245
|
- bin/beetle
|
268
246
|
homepage: http://xing.github.com/beetle/
|
269
247
|
licenses: []
|
270
|
-
|
271
|
-
|
272
|
-
\ `gem install SystemTimer -v '=1.2.1'`\n See: http://ph7spot.com/musings/system-timer\n\n
|
273
|
-
\ *********************************************************************************************\n"
|
248
|
+
metadata: {}
|
249
|
+
post_install_message:
|
274
250
|
rdoc_options:
|
275
251
|
- --charset=UTF-8
|
276
252
|
require_paths:
|
277
253
|
- lib
|
278
254
|
required_ruby_version: !ruby/object:Gem::Requirement
|
279
255
|
requirements:
|
280
|
-
- -
|
256
|
+
- - '>='
|
281
257
|
- !ruby/object:Gem::Version
|
282
|
-
segments:
|
283
|
-
- 0
|
284
|
-
hash: -3946675881285663057
|
285
258
|
version: '0'
|
286
|
-
none: false
|
287
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
288
260
|
requirements:
|
289
|
-
- -
|
261
|
+
- - '>='
|
290
262
|
- !ruby/object:Gem::Version
|
291
263
|
version: 1.3.7
|
292
|
-
none: false
|
293
264
|
requirements: []
|
294
265
|
rubyforge_project:
|
295
|
-
rubygems_version: 1.
|
266
|
+
rubygems_version: 2.1.11
|
296
267
|
signing_key:
|
297
268
|
specification_version: 3
|
298
269
|
summary: High Availability AMQP Messaging with Redundant Queues
|
data/examples/test_publisher.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
# attempts.rb
|
2
|
-
# this example shows you how to use the exception limiting feature of beetle
|
3
|
-
# it allows you to control the number of retries your handler will go through
|
4
|
-
# with one message before giving up on it
|
5
|
-
#
|
6
|
-
# ! check the examples/README.rdoc for information on starting your redis/rabbit !
|
7
|
-
#
|
8
|
-
# start it with ruby attempts.rb
|
9
|
-
|
10
|
-
require "rubygems"
|
11
|
-
require File.expand_path("../lib/beetle", File.dirname(__FILE__))
|
12
|
-
require "eventmachine"
|
13
|
-
|
14
|
-
# set Beetle log level to info, less noisy than debug
|
15
|
-
Beetle.config.logger.level = Logger::INFO
|
16
|
-
|
17
|
-
# setup client
|
18
|
-
client = Beetle::Client.new
|
19
|
-
client.register_message(:test)
|
20
|
-
|
21
|
-
n = 0
|
22
|
-
EM.run do
|
23
|
-
EM.add_periodic_timer(0.1) do
|
24
|
-
data = (n+=1)
|
25
|
-
client.logger.info "publishing #{data}"
|
26
|
-
client.publish(:test, data)
|
27
|
-
end
|
28
|
-
trap("INT") do
|
29
|
-
client.stop_publishing
|
30
|
-
EM.stop_event_loop
|
31
|
-
end
|
32
|
-
end
|