beetle 0.3.0.rc.6 → 0.3.0.rc.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -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__))