beetle 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1506f684cf433c4d71f7ad9019de4fe82167e2f8
4
- data.tar.gz: d09515d78afb673636622a21128b41fbdc3dc19b
3
+ metadata.gz: ebfa8894922f4c4887499cb476611e3c09c49c34
4
+ data.tar.gz: f6e07dc24d0009ad1e5bcb465c70eef4f990701c
5
5
  SHA512:
6
- metadata.gz: f8f92c92c3de8485554ef577c97df0991493e145a6db5ceef11c55ada11166909e4cceb640119ed5f69ee49e40ffe5f260a12aca0efd02bd926c4c8bf7cdaf71
7
- data.tar.gz: cd65e07319e8a84848d2f2ac32e5ef73585573f473bd7798f08ec18919ada22f34feacc5a53fcfeb7f7ef088281b2360da700905ee56d64d5a7f26bb18de4b29
6
+ metadata.gz: e2cad4a90e403e051985b997ae0a56585acb7b13b1e297e4c2ebef5ad50a1423096ebcb7f1d9b6b667f0abbdf7f16c45d93c5c70cea38f332d44726b3bec5e0f
7
+ data.tar.gz: e666c9ee90db3efe8b259950eb0f4c67ed867479714ec02ad27e1ef8663a73cabcf32cde73b9868e9d961cfd5f59700b1963e0e16fcbe651e036d8ea8e0cc597
@@ -1,10 +1,10 @@
1
1
  Given /^a redis server "([^\"]*)" exists as master$/ do |redis_name|
2
- TestDaemons::Redis[redis_name].start
2
+ TestDaemons::Redis[redis_name].restart
3
3
  TestDaemons::Redis[redis_name].master
4
4
  end
5
5
 
6
6
  Given /^a redis server "([^\"]*)" exists as slave of "([^\"]*)"$/ do |redis_name, redis_master_name|
7
- TestDaemons::Redis[redis_name].start
7
+ TestDaemons::Redis[redis_name].restart
8
8
  step "redis server \"#{redis_name}\" is slave of \"#{redis_master_name}\""
9
9
  end
10
10
 
@@ -63,7 +63,7 @@ Given /^the retry timeout for the redis master determination is reached$/ do
63
63
  end
64
64
 
65
65
  Given /^redis server "([^\"]*)" is coming back$/ do |redis_name|
66
- TestDaemons::Redis[redis_name].start
66
+ TestDaemons::Redis[redis_name].restart
67
67
  end
68
68
 
69
69
  Given /^an old redis master file for "([^\"]*)" with master "([^\"]*)" exists$/ do |redis_configuration_client_name, redis_name|
@@ -16,7 +16,7 @@ module TestDaemons
16
16
  def initialize(name)
17
17
  @name = name
18
18
  @port = @@next_available_port
19
-
19
+
20
20
  @@next_available_port += 1
21
21
  @@instances[name] = self
22
22
  end
@@ -38,11 +38,12 @@ module TestDaemons
38
38
  daemon_controller.start
39
39
  end
40
40
 
41
- def restart(delay=1)
42
- redis.shutdown
41
+ def restart(delay = 0)
42
+ create_dir
43
+ create_config
44
+ daemon_controller.stop
43
45
  sleep delay
44
- raise "SHUTDOWN COMMAND FAILED" if running?
45
- `redis-server #{config_filename}`
46
+ daemon_controller.start
46
47
  end
47
48
 
48
49
  def stop
@@ -77,7 +78,7 @@ module TestDaemons
77
78
  end
78
79
 
79
80
  def running?
80
- cmd = "ps aux | grep 'redis-server #{config_filename}' | grep -v grep"
81
+ cmd = "ps aux | egrep 'redis-server.*#{port}' | grep -v grep"
81
82
  res = `#{cmd}`
82
83
  x = res.chomp.split("\n")
83
84
  x.size == 1
@@ -111,7 +112,7 @@ module TestDaemons
111
112
  def ip_with_port
112
113
  "127.0.0.1:#{port}"
113
114
  end
114
-
115
+
115
116
  def redis
116
117
  @redis ||= ::Redis.new(:host => "127.0.0.1", :port => port)
117
118
  end
@@ -145,7 +146,7 @@ module TestDaemons
145
146
  end
146
147
 
147
148
  def config_filename
148
- tmp_path + "/redis-test-server-#{name}.conf"
149
+ tmp_path + "/redis-test-server-#{name}-#{port}.conf"
149
150
  end
150
151
 
151
152
  def config_content
@@ -175,7 +176,7 @@ module TestDaemons
175
176
 
176
177
  def daemon_controller
177
178
  @daemon_controller ||= DaemonController.new(
178
- :identifier => "Redis test server",
179
+ :identifier => "Redis test server #{name}",
179
180
  :start_command => "redis-server #{config_filename}",
180
181
  :ping_command => lambda { running? && available? },
181
182
  :pid_file => pid_file,
@@ -183,6 +184,5 @@ module TestDaemons
183
184
  :start_timeout => 5
184
185
  )
185
186
  end
186
-
187
187
  end
188
188
  end
@@ -95,17 +95,19 @@ module Beetle
95
95
  def build_beetle
96
96
  system = Beetle.config.system_name
97
97
  Beetle::Client.new.configure :exchange => system, :auto_delete => true do |config|
98
- config.message :ping
99
- config.queue :ping, :amqp_name => "#{system}_ping_#{id}"
98
+ # messages sent
100
99
  config.message :pong
101
- config.message :invalidate
102
- config.queue :invalidate, :amqp_name => "#{system}_invalidate_#{id}"
100
+ config.message :client_started
103
101
  config.message :client_invalidated
102
+ # messages received
103
+ config.message :ping
104
+ config.message :invalidate
104
105
  config.message :reconfigure
105
- config.queue :reconfigure, :amqp_name => "#{system}_reconfigure_#{id}"
106
- config.message :client_started
107
-
108
- config.handler [:ping, :invalidate, :reconfigure], MessageDispatcher
106
+ # queue setup
107
+ config.queue :client, :key => 'ping', :amqp_name => "#{system}_configuration_client_#{id}"
108
+ config.binding :client, :key => 'invalidate'
109
+ config.binding :client, :key => 'reconfigure'
110
+ config.handler :client, MessageDispatcher
109
111
  end
110
112
  end
111
113
 
@@ -176,18 +176,20 @@ module Beetle
176
176
  def build_beetle
177
177
  system = Beetle.config.system_name
178
178
  Beetle::Client.new.configure :exchange => system, :auto_delete => true do |config|
179
- config.message :client_invalidated
180
- config.queue :client_invalidated, :amqp_name => "#{system}_client_invalidated"
181
- config.message :pong
182
- config.queue :pong, :amqp_name => "#{system}_pong"
179
+ # messages sent
183
180
  config.message :ping
184
181
  config.message :invalidate
185
182
  config.message :reconfigure
186
183
  config.message :system_notification
184
+ # messages received
187
185
  config.message :client_started
188
- config.queue :client_started, :amqp_name => "#{system}_client_started"
189
-
190
- config.handler [:pong, :client_invalidated, :client_started], MessageDispatcher
186
+ config.message :pong
187
+ config.message :client_invalidated
188
+ # queue setup
189
+ config.queue :server, :key => 'pong', :amqp_name => "#{system}_configuration_server"
190
+ config.binding :server, :key => 'client_started'
191
+ config.binding :server, :key => 'client_invalidated'
192
+ config.handler :server, MessageDispatcher
191
193
  end
192
194
  end
193
195
 
@@ -1,3 +1,3 @@
1
1
  module Beetle
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
@@ -17,6 +17,8 @@ class Test::Unit::TestCase
17
17
  extend ActiveSupport::Testing::Declarative
18
18
  end
19
19
 
20
+ I18n.enforce_available_locales = false
21
+
20
22
  Beetle.config.logger = Logger.new(File.dirname(__FILE__) + '/../test.log')
21
23
  Beetle.config.redis_server = "localhost:6379"
22
24
  Beetle.config.redis_servers = "localhost:6379,localhost:6380"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beetle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Kaes
@@ -12,154 +12,154 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-12-17 00:00:00.000000000 Z
15
+ date: 2014-05-23 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: uuid4r
19
- version_requirements: !ruby/object:Gem::Requirement
19
+ requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - '>='
21
+ - - ">="
22
22
  - !ruby/object:Gem::Version
23
23
  version: 0.1.2
24
24
  type: :runtime
25
- requirement: !ruby/object:Gem::Requirement
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
26
27
  requirements:
27
- - - '>='
28
+ - - ">="
28
29
  - !ruby/object:Gem::Version
29
30
  version: 0.1.2
30
- prerelease: false
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: bunny
33
- version_requirements: !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
34
34
  requirements:
35
35
  - - '='
36
36
  - !ruby/object:Gem::Version
37
37
  version: 0.7.9
38
38
  type: :runtime
39
- requirement: !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
40
41
  requirements:
41
42
  - - '='
42
43
  - !ruby/object:Gem::Version
43
44
  version: 0.7.9
44
- prerelease: false
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: redis
47
- version_requirements: !ruby/object:Gem::Requirement
47
+ requirement: !ruby/object:Gem::Requirement
48
48
  requirements:
49
- - - '>='
49
+ - - ">="
50
50
  - !ruby/object:Gem::Version
51
51
  version: 2.2.2
52
- - - <
52
+ - - "<"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.1'
55
55
  type: :runtime
56
- requirement: !ruby/object:Gem::Requirement
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
57
58
  requirements:
58
- - - '>='
59
+ - - ">="
59
60
  - !ruby/object:Gem::Version
60
61
  version: 2.2.2
61
- - - <
62
+ - - "<"
62
63
  - !ruby/object:Gem::Version
63
64
  version: '3.1'
64
- prerelease: false
65
65
  - !ruby/object:Gem::Dependency
66
66
  name: hiredis
67
- version_requirements: !ruby/object:Gem::Requirement
67
+ requirement: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - '='
70
70
  - !ruby/object:Gem::Version
71
71
  version: 0.4.5
72
72
  type: :runtime
73
- requirement: !ruby/object:Gem::Requirement
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
74
75
  requirements:
75
76
  - - '='
76
77
  - !ruby/object:Gem::Version
77
78
  version: 0.4.5
78
- prerelease: false
79
79
  - !ruby/object:Gem::Dependency
80
80
  name: amq-client
81
- version_requirements: !ruby/object:Gem::Requirement
81
+ requirement: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - '='
84
84
  - !ruby/object:Gem::Version
85
85
  version: 1.0.2
86
86
  type: :runtime
87
- requirement: !ruby/object:Gem::Requirement
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
88
89
  requirements:
89
90
  - - '='
90
91
  - !ruby/object:Gem::Version
91
92
  version: 1.0.2
92
- prerelease: false
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: amq-protocol
95
- version_requirements: !ruby/object:Gem::Requirement
95
+ requirement: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - '='
98
98
  - !ruby/object:Gem::Version
99
99
  version: 1.6.0
100
100
  type: :runtime
101
- requirement: !ruby/object:Gem::Requirement
101
+ prerelease: false
102
+ version_requirements: !ruby/object:Gem::Requirement
102
103
  requirements:
103
104
  - - '='
104
105
  - !ruby/object:Gem::Version
105
106
  version: 1.6.0
106
- prerelease: false
107
107
  - !ruby/object:Gem::Dependency
108
108
  name: amqp
109
- version_requirements: !ruby/object:Gem::Requirement
109
+ requirement: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - '='
112
112
  - !ruby/object:Gem::Version
113
113
  version: 1.0.2
114
114
  type: :runtime
115
- requirement: !ruby/object:Gem::Requirement
115
+ prerelease: false
116
+ version_requirements: !ruby/object:Gem::Requirement
116
117
  requirements:
117
118
  - - '='
118
119
  - !ruby/object:Gem::Version
119
120
  version: 1.0.2
120
- prerelease: false
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: activesupport
123
- version_requirements: !ruby/object:Gem::Requirement
123
+ requirement: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - '>='
125
+ - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: 2.3.4
128
128
  type: :runtime
129
- requirement: !ruby/object:Gem::Requirement
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
130
131
  requirements:
131
- - - '>='
132
+ - - ">="
132
133
  - !ruby/object:Gem::Version
133
134
  version: 2.3.4
134
- prerelease: false
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: eventmachine_httpserver
137
- version_requirements: !ruby/object:Gem::Requirement
137
+ requirement: !ruby/object:Gem::Requirement
138
138
  requirements:
139
- - - '>='
139
+ - - ">="
140
140
  - !ruby/object:Gem::Version
141
141
  version: 0.2.1
142
142
  type: :runtime
143
- requirement: !ruby/object:Gem::Requirement
143
+ prerelease: false
144
+ version_requirements: !ruby/object:Gem::Requirement
144
145
  requirements:
145
- - - '>='
146
+ - - ">="
146
147
  - !ruby/object:Gem::Version
147
148
  version: 0.2.1
148
- prerelease: false
149
149
  - !ruby/object:Gem::Dependency
150
150
  name: daemons
151
- version_requirements: !ruby/object:Gem::Requirement
151
+ requirement: !ruby/object:Gem::Requirement
152
152
  requirements:
153
- - - '>='
153
+ - - ">="
154
154
  - !ruby/object:Gem::Version
155
155
  version: 1.0.10
156
156
  type: :runtime
157
- requirement: !ruby/object:Gem::Requirement
157
+ prerelease: false
158
+ version_requirements: !ruby/object:Gem::Requirement
158
159
  requirements:
159
- - - '>='
160
+ - - ">="
160
161
  - !ruby/object:Gem::Version
161
162
  version: 1.0.10
162
- prerelease: false
163
163
  description: A highly available, reliable messaging infrastructure
164
164
  email: opensource@xing.com
165
165
  executables:
@@ -173,6 +173,14 @@ extra_rdoc_files:
173
173
  - RELEASE_NOTES.rdoc
174
174
  - MIT-LICENSE
175
175
  files:
176
+ - MIT-LICENSE
177
+ - README.rdoc
178
+ - REDIS_AUTO_FAILOVER.rdoc
179
+ - RELEASE_NOTES.rdoc
180
+ - Rakefile
181
+ - beetle.gemspec
182
+ - bin/beetle
183
+ - examples/README.rdoc
176
184
  - examples/attempts.rb
177
185
  - examples/handler_class.rb
178
186
  - examples/handling_exceptions.rb
@@ -184,12 +192,23 @@ files:
184
192
  - examples/rpc.rb
185
193
  - examples/simple.rb
186
194
  - examples/test_publisher.rb
195
+ - features/README.rdoc
196
+ - features/redis_auto_failover.feature
197
+ - features/step_definitions/redis_auto_failover_steps.rb
198
+ - features/support/beetle_handler
199
+ - features/support/env.rb
200
+ - features/support/system_notification_logger
201
+ - features/support/test_daemons/redis.conf.erb
202
+ - features/support/test_daemons/redis.rb
203
+ - features/support/test_daemons/redis_configuration_client.rb
204
+ - features/support/test_daemons/redis_configuration_server.rb
205
+ - lib/beetle.rb
187
206
  - lib/beetle/base.rb
188
207
  - lib/beetle/client.rb
208
+ - lib/beetle/commands.rb
189
209
  - lib/beetle/commands/configuration_client.rb
190
210
  - lib/beetle/commands/configuration_server.rb
191
211
  - lib/beetle/commands/garbage_collect_deduplication_store.rb
192
- - lib/beetle/commands.rb
193
212
  - lib/beetle/configuration.rb
194
213
  - lib/beetle/deduplication_store.rb
195
214
  - lib/beetle/handler.rb
@@ -205,26 +224,8 @@ files:
205
224
  - lib/beetle/redis_server_info.rb
206
225
  - lib/beetle/subscriber.rb
207
226
  - lib/beetle/version.rb
208
- - lib/beetle.rb
209
- - features/README.rdoc
210
- - features/redis_auto_failover.feature
211
- - features/step_definitions/redis_auto_failover_steps.rb
212
- - features/support/beetle_handler
213
- - features/support/env.rb
214
- - features/support/system_notification_logger
215
- - features/support/test_daemons/redis.conf.erb
216
- - features/support/test_daemons/redis.rb
217
- - features/support/test_daemons/redis_configuration_client.rb
218
- - features/support/test_daemons/redis_configuration_server.rb
219
227
  - script/console
220
228
  - script/start_rabbit
221
- - beetle.gemspec
222
- - Rakefile
223
- - examples/README.rdoc
224
- - README.rdoc
225
- - REDIS_AUTO_FAILOVER.rdoc
226
- - RELEASE_NOTES.rdoc
227
- - MIT-LICENSE
228
229
  - test/beetle/amqp_gem_behavior_test.rb
229
230
  - test/beetle/base_test.rb
230
231
  - test/beetle/beetle_test.rb
@@ -243,28 +244,27 @@ files:
243
244
  - test/beetle_test.rb
244
245
  - test/colorized_test_output.rb
245
246
  - test/test_helper.rb
246
- - bin/beetle
247
247
  homepage: http://xing.github.com/beetle/
248
248
  licenses: []
249
249
  metadata: {}
250
250
  post_install_message:
251
251
  rdoc_options:
252
- - --charset=UTF-8
252
+ - "--charset=UTF-8"
253
253
  require_paths:
254
254
  - lib
255
255
  required_ruby_version: !ruby/object:Gem::Requirement
256
256
  requirements:
257
- - - '>='
257
+ - - ">="
258
258
  - !ruby/object:Gem::Version
259
259
  version: '0'
260
260
  required_rubygems_version: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - '>='
262
+ - - ">="
263
263
  - !ruby/object:Gem::Version
264
264
  version: 1.3.7
265
265
  requirements: []
266
266
  rubyforge_project:
267
- rubygems_version: 2.1.11
267
+ rubygems_version: 2.2.2
268
268
  signing_key:
269
269
  specification_version: 3
270
270
  summary: High Availability AMQP Messaging with Redundant Queues