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.
@@ -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
@@ -62,7 +62,8 @@ class Redis #:nodoc:
62
62
  def shutdown
63
63
  synchronize do
64
64
  begin
65
- @client.call_without_reply [:shutdown]
65
+ @client.call [:shutdown]
66
+ rescue Errno::ECONNREFUSED
66
67
  ensure
67
68
  @client.disconnect
68
69
  end
@@ -1,3 +1,3 @@
1
1
  module Beetle
2
- VERSION = "0.3.0.rc.6"
2
+ VERSION = "0.3.0.rc.7"
3
3
  end
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
- version: 0.3.0.rc.6
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
- date: 2011-10-22 00:00:00.000000000 +02:00
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
- requirement: &2151634120 !ruby/object:Gem::Requirement
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
- prerelease: false
29
- version_requirements: *2151634120
30
- - !ruby/object:Gem::Dependency
42
+ version_requirements: *id001
43
+ - !ruby/object:Gem::Dependency
31
44
  name: bunny
32
- requirement: &2151633580 !ruby/object:Gem::Requirement
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
- prerelease: false
40
- version_requirements: *2151633580
41
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *id002
59
+ - !ruby/object:Gem::Dependency
42
60
  name: redis
43
- requirement: &2151633100 !ruby/object:Gem::Requirement
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
- prerelease: false
51
- version_requirements: *2151633100
52
- - !ruby/object:Gem::Dependency
74
+ version_requirements: *id003
75
+ - !ruby/object:Gem::Dependency
53
76
  name: hiredis
54
- requirement: &2151632560 !ruby/object:Gem::Requirement
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
- prerelease: false
62
- version_requirements: *2151632560
63
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *id004
91
+ - !ruby/object:Gem::Dependency
64
92
  name: amq-client
65
- requirement: &2151632020 !ruby/object:Gem::Requirement
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
- prerelease: false
73
- version_requirements: *2151632020
74
- - !ruby/object:Gem::Dependency
106
+ version_requirements: *id005
107
+ - !ruby/object:Gem::Dependency
75
108
  name: amq-protocol
76
- requirement: &2151631540 !ruby/object:Gem::Requirement
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
- prerelease: false
84
- version_requirements: *2151631540
85
- - !ruby/object:Gem::Dependency
122
+ version_requirements: *id006
123
+ - !ruby/object:Gem::Dependency
86
124
  name: amqp
87
- requirement: &2151631000 !ruby/object:Gem::Requirement
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
- prerelease: false
95
- version_requirements: *2151631000
96
- - !ruby/object:Gem::Dependency
138
+ version_requirements: *id007
139
+ - !ruby/object:Gem::Dependency
97
140
  name: activesupport
98
- requirement: &2151630480 !ruby/object:Gem::Requirement
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
- prerelease: false
106
- version_requirements: *2151630480
107
- - !ruby/object:Gem::Dependency
154
+ version_requirements: *id008
155
+ - !ruby/object:Gem::Dependency
108
156
  name: daemons
109
- requirement: &2151629940 !ruby/object:Gem::Requirement
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
- prerelease: false
117
- version_requirements: *2151629940
118
- - !ruby/object:Gem::Dependency
170
+ version_requirements: *id009
171
+ - !ruby/object:Gem::Dependency
119
172
  name: rake
120
- requirement: &2151629420 !ruby/object:Gem::Requirement
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
- prerelease: false
128
- version_requirements: *2151629420
129
- - !ruby/object:Gem::Dependency
186
+ version_requirements: *id010
187
+ - !ruby/object:Gem::Dependency
130
188
  name: mocha
131
- requirement: &2151628940 !ruby/object:Gem::Requirement
189
+ prerelease: false
190
+ requirement: &id011 !ruby/object:Gem::Requirement
132
191
  none: false
133
- requirements:
134
- - - ! '>='
135
- - !ruby/object:Gem::Version
136
- version: '0'
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ hash: 3
196
+ segments:
197
+ - 0
198
+ version: "0"
137
199
  type: :development
138
- prerelease: false
139
- version_requirements: *2151628940
140
- - !ruby/object:Gem::Dependency
200
+ version_requirements: *id011
201
+ - !ruby/object:Gem::Dependency
141
202
  name: rcov
142
- requirement: &2151628460 !ruby/object:Gem::Requirement
203
+ prerelease: false
204
+ requirement: &id012 !ruby/object:Gem::Requirement
143
205
  none: false
144
- requirements:
145
- - - ! '>='
146
- - !ruby/object:Gem::Version
147
- version: '0'
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ hash: 3
210
+ segments:
211
+ - 0
212
+ version: "0"
148
213
  type: :development
149
- prerelease: false
150
- version_requirements: *2151628460
151
- - !ruby/object:Gem::Dependency
214
+ version_requirements: *id012
215
+ - !ruby/object:Gem::Dependency
152
216
  name: cucumber
153
- requirement: &2151627860 !ruby/object:Gem::Requirement
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
- prerelease: false
161
- version_requirements: *2151627860
162
- - !ruby/object:Gem::Dependency
230
+ version_requirements: *id013
231
+ - !ruby/object:Gem::Dependency
163
232
  name: daemon_controller
164
- requirement: &2151627360 !ruby/object:Gem::Requirement
233
+ prerelease: false
234
+ requirement: &id014 !ruby/object:Gem::Requirement
165
235
  none: false
166
- requirements:
167
- - - ! '>='
168
- - !ruby/object:Gem::Version
169
- version: '0'
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ hash: 3
240
+ segments:
241
+ - 0
242
+ version: "0"
170
243
  type: :development
171
- prerelease: false
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
- extra_rdoc_files:
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
- post_install_message: ! " *********************************************************************************************\n\n
258
- \ Please install the SystemTimer gem if you're running a ruby version < 1.9:\n
259
- \ `gem install SystemTimer -v '=1.2.1'`\n See: http://ph7spot.com/musings/system-timer\n\n
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
- version: '0'
271
- required_rubygems_version: !ruby/object:Gem::Requirement
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
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env ruby
2
- $:.unshift(File.expand_path("../lib",__FILE__))