beetle 0.3.0.rc.6 → 0.3.0.rc.7
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.
- data/examples/test_publisher.rb +32 -0
- data/features/support/test_daemons/redis.rb +2 -0
- data/lib/beetle/redis_ext.rb +2 -1
- data/lib/beetle/version.rb +1 -1
- metadata +207 -127
- data/script/console~ +0 -2
@@ -0,0 +1,32 @@
|
|
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
|
@@ -41,6 +41,7 @@ module TestDaemons
|
|
41
41
|
def restart(delay=1)
|
42
42
|
redis.shutdown
|
43
43
|
sleep delay
|
44
|
+
raise "SHUTDOWN COMMAND FAILED" if running?
|
44
45
|
`redis-server #{config_filename}`
|
45
46
|
end
|
46
47
|
|
@@ -51,6 +52,7 @@ module TestDaemons
|
|
51
52
|
# sleep 1
|
52
53
|
# end
|
53
54
|
daemon_controller.stop
|
55
|
+
raise "FAILED TO STOP redis server on port #{port}" if running?
|
54
56
|
ensure
|
55
57
|
cleanup
|
56
58
|
end
|
data/lib/beetle/redis_ext.rb
CHANGED
data/lib/beetle/version.rb
CHANGED
metadata
CHANGED
@@ -1,10 +1,17 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: beetle
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15424043
|
5
5
|
prerelease: 6
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
- rc
|
11
|
+
- 7
|
12
|
+
version: 0.3.0.rc.7
|
6
13
|
platform: ruby
|
7
|
-
authors:
|
14
|
+
authors:
|
8
15
|
- Stefan Kaes
|
9
16
|
- Pascal Friederich
|
10
17
|
- Ali Jelveh
|
@@ -13,176 +20,242 @@ authors:
|
|
13
20
|
autorequire:
|
14
21
|
bindir: bin
|
15
22
|
cert_chain: []
|
16
|
-
|
23
|
+
|
24
|
+
date: 2011-10-24 00:00:00 +02:00
|
17
25
|
default_executable: beetle
|
18
|
-
dependencies:
|
19
|
-
- !ruby/object:Gem::Dependency
|
26
|
+
dependencies:
|
27
|
+
- !ruby/object:Gem::Dependency
|
20
28
|
name: uuid4r
|
21
|
-
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
22
31
|
none: false
|
23
|
-
requirements:
|
24
|
-
- -
|
25
|
-
- !ruby/object:Gem::Version
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
hash: 31
|
36
|
+
segments:
|
37
|
+
- 0
|
38
|
+
- 1
|
39
|
+
- 2
|
26
40
|
version: 0.1.2
|
27
41
|
type: :runtime
|
28
|
-
|
29
|
-
|
30
|
-
- !ruby/object:Gem::Dependency
|
42
|
+
version_requirements: *id001
|
43
|
+
- !ruby/object:Gem::Dependency
|
31
44
|
name: bunny
|
32
|
-
|
45
|
+
prerelease: false
|
46
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
33
47
|
none: false
|
34
|
-
requirements:
|
35
|
-
- - =
|
36
|
-
- !ruby/object:Gem::Version
|
48
|
+
requirements:
|
49
|
+
- - "="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
hash: 19
|
52
|
+
segments:
|
53
|
+
- 0
|
54
|
+
- 7
|
55
|
+
- 8
|
37
56
|
version: 0.7.8
|
38
57
|
type: :runtime
|
39
|
-
|
40
|
-
|
41
|
-
- !ruby/object:Gem::Dependency
|
58
|
+
version_requirements: *id002
|
59
|
+
- !ruby/object:Gem::Dependency
|
42
60
|
name: redis
|
43
|
-
|
61
|
+
prerelease: false
|
62
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
44
63
|
none: false
|
45
|
-
requirements:
|
46
|
-
- - =
|
47
|
-
- !ruby/object:Gem::Version
|
64
|
+
requirements:
|
65
|
+
- - "="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
hash: 3
|
68
|
+
segments:
|
69
|
+
- 2
|
70
|
+
- 2
|
71
|
+
- 2
|
48
72
|
version: 2.2.2
|
49
73
|
type: :runtime
|
50
|
-
|
51
|
-
|
52
|
-
- !ruby/object:Gem::Dependency
|
74
|
+
version_requirements: *id003
|
75
|
+
- !ruby/object:Gem::Dependency
|
53
76
|
name: hiredis
|
54
|
-
|
77
|
+
prerelease: false
|
78
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
55
79
|
none: false
|
56
|
-
requirements:
|
57
|
-
- - =
|
58
|
-
- !ruby/object:Gem::Version
|
80
|
+
requirements:
|
81
|
+
- - "="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
hash: 23
|
84
|
+
segments:
|
85
|
+
- 0
|
86
|
+
- 3
|
87
|
+
- 2
|
59
88
|
version: 0.3.2
|
60
89
|
type: :runtime
|
61
|
-
|
62
|
-
|
63
|
-
- !ruby/object:Gem::Dependency
|
90
|
+
version_requirements: *id004
|
91
|
+
- !ruby/object:Gem::Dependency
|
64
92
|
name: amq-client
|
65
|
-
|
93
|
+
prerelease: false
|
94
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
66
95
|
none: false
|
67
|
-
requirements:
|
68
|
-
- - =
|
69
|
-
- !ruby/object:Gem::Version
|
96
|
+
requirements:
|
97
|
+
- - "="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
hash: 57
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
- 8
|
103
|
+
- 3
|
70
104
|
version: 0.8.3
|
71
105
|
type: :runtime
|
72
|
-
|
73
|
-
|
74
|
-
- !ruby/object:Gem::Dependency
|
106
|
+
version_requirements: *id005
|
107
|
+
- !ruby/object:Gem::Dependency
|
75
108
|
name: amq-protocol
|
76
|
-
|
109
|
+
prerelease: false
|
110
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
77
111
|
none: false
|
78
|
-
requirements:
|
79
|
-
- - =
|
80
|
-
- !ruby/object:Gem::Version
|
112
|
+
requirements:
|
113
|
+
- - "="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
hash: 61
|
116
|
+
segments:
|
117
|
+
- 0
|
118
|
+
- 8
|
119
|
+
- 1
|
81
120
|
version: 0.8.1
|
82
121
|
type: :runtime
|
83
|
-
|
84
|
-
|
85
|
-
- !ruby/object:Gem::Dependency
|
122
|
+
version_requirements: *id006
|
123
|
+
- !ruby/object:Gem::Dependency
|
86
124
|
name: amqp
|
87
|
-
|
125
|
+
prerelease: false
|
126
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
88
127
|
none: false
|
89
|
-
requirements:
|
90
|
-
- - =
|
91
|
-
- !ruby/object:Gem::Version
|
128
|
+
requirements:
|
129
|
+
- - "="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
hash: 63
|
132
|
+
segments:
|
133
|
+
- 0
|
134
|
+
- 8
|
135
|
+
- 0
|
92
136
|
version: 0.8.0
|
93
137
|
type: :runtime
|
94
|
-
|
95
|
-
|
96
|
-
- !ruby/object:Gem::Dependency
|
138
|
+
version_requirements: *id007
|
139
|
+
- !ruby/object:Gem::Dependency
|
97
140
|
name: activesupport
|
98
|
-
|
141
|
+
prerelease: false
|
142
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
99
143
|
none: false
|
100
|
-
requirements:
|
101
|
-
- -
|
102
|
-
- !ruby/object:Gem::Version
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
hash: 11
|
148
|
+
segments:
|
149
|
+
- 2
|
150
|
+
- 3
|
151
|
+
- 4
|
103
152
|
version: 2.3.4
|
104
153
|
type: :runtime
|
105
|
-
|
106
|
-
|
107
|
-
- !ruby/object:Gem::Dependency
|
154
|
+
version_requirements: *id008
|
155
|
+
- !ruby/object:Gem::Dependency
|
108
156
|
name: daemons
|
109
|
-
|
157
|
+
prerelease: false
|
158
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
110
159
|
none: false
|
111
|
-
requirements:
|
112
|
-
- -
|
113
|
-
- !ruby/object:Gem::Version
|
160
|
+
requirements:
|
161
|
+
- - ">="
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
hash: 3
|
164
|
+
segments:
|
165
|
+
- 1
|
166
|
+
- 0
|
167
|
+
- 10
|
114
168
|
version: 1.0.10
|
115
169
|
type: :runtime
|
116
|
-
|
117
|
-
|
118
|
-
- !ruby/object:Gem::Dependency
|
170
|
+
version_requirements: *id009
|
171
|
+
- !ruby/object:Gem::Dependency
|
119
172
|
name: rake
|
120
|
-
|
173
|
+
prerelease: false
|
174
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
121
175
|
none: false
|
122
|
-
requirements:
|
123
|
-
- -
|
124
|
-
- !ruby/object:Gem::Version
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
hash: 49
|
180
|
+
segments:
|
181
|
+
- 0
|
182
|
+
- 8
|
183
|
+
- 7
|
125
184
|
version: 0.8.7
|
126
185
|
type: :development
|
127
|
-
|
128
|
-
|
129
|
-
- !ruby/object:Gem::Dependency
|
186
|
+
version_requirements: *id010
|
187
|
+
- !ruby/object:Gem::Dependency
|
130
188
|
name: mocha
|
131
|
-
|
189
|
+
prerelease: false
|
190
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
132
191
|
none: false
|
133
|
-
requirements:
|
134
|
-
- -
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
|
192
|
+
requirements:
|
193
|
+
- - ">="
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
hash: 3
|
196
|
+
segments:
|
197
|
+
- 0
|
198
|
+
version: "0"
|
137
199
|
type: :development
|
138
|
-
|
139
|
-
|
140
|
-
- !ruby/object:Gem::Dependency
|
200
|
+
version_requirements: *id011
|
201
|
+
- !ruby/object:Gem::Dependency
|
141
202
|
name: rcov
|
142
|
-
|
203
|
+
prerelease: false
|
204
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
143
205
|
none: false
|
144
|
-
requirements:
|
145
|
-
- -
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
|
206
|
+
requirements:
|
207
|
+
- - ">="
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
hash: 3
|
210
|
+
segments:
|
211
|
+
- 0
|
212
|
+
version: "0"
|
148
213
|
type: :development
|
149
|
-
|
150
|
-
|
151
|
-
- !ruby/object:Gem::Dependency
|
214
|
+
version_requirements: *id012
|
215
|
+
- !ruby/object:Gem::Dependency
|
152
216
|
name: cucumber
|
153
|
-
|
217
|
+
prerelease: false
|
218
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
154
219
|
none: false
|
155
|
-
requirements:
|
156
|
-
- -
|
157
|
-
- !ruby/object:Gem::Version
|
220
|
+
requirements:
|
221
|
+
- - ">="
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
hash: 7
|
224
|
+
segments:
|
225
|
+
- 0
|
226
|
+
- 7
|
227
|
+
- 2
|
158
228
|
version: 0.7.2
|
159
229
|
type: :development
|
160
|
-
|
161
|
-
|
162
|
-
- !ruby/object:Gem::Dependency
|
230
|
+
version_requirements: *id013
|
231
|
+
- !ruby/object:Gem::Dependency
|
163
232
|
name: daemon_controller
|
164
|
-
|
233
|
+
prerelease: false
|
234
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
165
235
|
none: false
|
166
|
-
requirements:
|
167
|
-
- -
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
|
236
|
+
requirements:
|
237
|
+
- - ">="
|
238
|
+
- !ruby/object:Gem::Version
|
239
|
+
hash: 3
|
240
|
+
segments:
|
241
|
+
- 0
|
242
|
+
version: "0"
|
170
243
|
type: :development
|
171
|
-
|
172
|
-
version_requirements: *2151627360
|
244
|
+
version_requirements: *id014
|
173
245
|
description: A highly available, reliable messaging infrastructure
|
174
246
|
email: opensource@xing.com
|
175
|
-
executables:
|
247
|
+
executables:
|
176
248
|
- beetle
|
177
249
|
extensions: []
|
178
|
-
|
250
|
+
|
251
|
+
extra_rdoc_files:
|
179
252
|
- examples/README.rdoc
|
180
253
|
- features/README.rdoc
|
181
254
|
- README.rdoc
|
182
255
|
- REDIS_AUTO_FAILOVER.rdoc
|
183
256
|
- RELEASE_NOTES.rdoc
|
184
257
|
- MIT-LICENSE
|
185
|
-
files:
|
258
|
+
files:
|
186
259
|
- examples/attempts.rb
|
187
260
|
- examples/handler_class.rb
|
188
261
|
- examples/handling_exceptions.rb
|
@@ -193,6 +266,7 @@ files:
|
|
193
266
|
- examples/redundant.rb
|
194
267
|
- examples/rpc.rb
|
195
268
|
- examples/simple.rb
|
269
|
+
- examples/test_publisher.rb
|
196
270
|
- lib/beetle/base.rb
|
197
271
|
- lib/beetle/client.rb
|
198
272
|
- lib/beetle/commands/configuration_client.rb
|
@@ -224,7 +298,6 @@ files:
|
|
224
298
|
- features/support/test_daemons/redis_configuration_client.rb
|
225
299
|
- features/support/test_daemons/redis_configuration_server.rb
|
226
300
|
- script/console
|
227
|
-
- script/console~
|
228
301
|
- script/start_rabbit
|
229
302
|
- beetle.gemspec
|
230
303
|
- Rakefile
|
@@ -254,33 +327,40 @@ files:
|
|
254
327
|
has_rdoc: true
|
255
328
|
homepage: http://xing.github.com/beetle/
|
256
329
|
licenses: []
|
257
|
-
|
258
|
-
\
|
259
|
-
|
260
|
-
\ *********************************************************************************************\n"
|
261
|
-
rdoc_options:
|
330
|
+
|
331
|
+
post_install_message: " *********************************************************************************************\n\n Please install the SystemTimer gem if you're running a ruby version < 1.9:\n `gem install SystemTimer -v '=1.2.1'`\n See: http://ph7spot.com/musings/system-timer\n\n *********************************************************************************************\n"
|
332
|
+
rdoc_options:
|
262
333
|
- --charset=UTF-8
|
263
|
-
require_paths:
|
334
|
+
require_paths:
|
264
335
|
- lib
|
265
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
336
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
266
337
|
none: false
|
267
|
-
requirements:
|
268
|
-
- -
|
269
|
-
- !ruby/object:Gem::Version
|
270
|
-
|
271
|
-
|
338
|
+
requirements:
|
339
|
+
- - ">="
|
340
|
+
- !ruby/object:Gem::Version
|
341
|
+
hash: 3
|
342
|
+
segments:
|
343
|
+
- 0
|
344
|
+
version: "0"
|
345
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
272
346
|
none: false
|
273
|
-
requirements:
|
274
|
-
- -
|
275
|
-
- !ruby/object:Gem::Version
|
347
|
+
requirements:
|
348
|
+
- - ">="
|
349
|
+
- !ruby/object:Gem::Version
|
350
|
+
hash: 21
|
351
|
+
segments:
|
352
|
+
- 1
|
353
|
+
- 3
|
354
|
+
- 7
|
276
355
|
version: 1.3.7
|
277
356
|
requirements: []
|
357
|
+
|
278
358
|
rubyforge_project:
|
279
359
|
rubygems_version: 1.6.2
|
280
360
|
signing_key:
|
281
361
|
specification_version: 3
|
282
362
|
summary: High Availability AMQP Messaging with Redundant Queues
|
283
|
-
test_files:
|
363
|
+
test_files:
|
284
364
|
- test/beetle/amqp_gem_behavior_test.rb
|
285
365
|
- test/beetle/base_test.rb
|
286
366
|
- test/beetle/client_test.rb
|
data/script/console~
DELETED