worker_roulette 0.1.5 → 0.1.6
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 +15 -0
- data/.simplecov +16 -0
- data/Rakefile +20 -13
- data/lib/worker_roulette/a_tradesman.rb +3 -3
- data/lib/worker_roulette/version.rb +1 -1
- data/spec/spec_helper.rb +0 -11
- metadata +6 -40
checksums.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
!binary "U0hBMQ==":
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
NzQ2MGVkMWQ0ZDcwYTQzOGM0OGJlMDM5M2I1OGU2YjkzZTU2MzIzZA==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
Mjc3ZTk1YTJjOWMxMzYyNmE3YTdhNTNiZjM4ZWRhMTEwN2ZjNjAxNA==
|
|
7
|
+
SHA512:
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
NjA4NmI3NTc1M2MwNjg3N2FmZDIxNjIyZGQ1YjA4NTFjMzBlNzVmZDhhNjZi
|
|
10
|
+
ZWU5NjI5NmY1MmYzZWFjNTZjOWY5OTRhMGZkNzY3ODVjNDVhN2ViOGEzZGE2
|
|
11
|
+
NzU3MDdiYmM4MzY1YjU2NDI0YjFlMGU0NjAzYWY0ZDNmMjdjNDg=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
MjE2Nzc5YmE3MDBhZWQ5YjdmMzdmNDZlY2U4ZmQ3NmI2NzQ4OTFkNjFjNDZj
|
|
14
|
+
YjU2M2M0MmViZjdiN2I0ZDE0MGJmZjk3YmQ3NWMxZjk5ZGMxY2MzNGM3MzMz
|
|
15
|
+
NmRlMzJlMmNmZTg0YjA2ODRiYjI3Njk5NzUyY2U5MTAxMGY5ZTM=
|
data/.simplecov
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require 'simplecov'
|
|
2
|
+
require 'simplecov-rcov'
|
|
3
|
+
|
|
4
|
+
class SimpleCov::Formatter::MergedFormatter
|
|
5
|
+
def format(result)
|
|
6
|
+
SimpleCov::Formatter::HTMLFormatter.new.format(result)
|
|
7
|
+
SimpleCov::Formatter::RcovFormatter.new.format(result)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
|
|
11
|
+
|
|
12
|
+
SimpleCov.start do
|
|
13
|
+
add_filter "_spec.rb"
|
|
14
|
+
|
|
15
|
+
SimpleCov.minimum_coverage 99
|
|
16
|
+
end
|
data/Rakefile
CHANGED
|
@@ -7,19 +7,26 @@ RSpec::Core::RakeTask.new
|
|
|
7
7
|
task :default => :spec
|
|
8
8
|
task :test => :spec
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
# end
|
|
14
|
-
|
|
15
|
-
desc "Run all unit and integration tests"
|
|
16
|
-
task :'spec:ci' do
|
|
17
|
-
rspec_out_file = nil
|
|
18
|
-
sh "bundle exec rspec #{rspec_out_file} spec"
|
|
10
|
+
def rspec_out_file
|
|
11
|
+
require 'rspec_junit_formatter'
|
|
12
|
+
"-f RspecJunitFormatter -o results.xml"
|
|
19
13
|
end
|
|
20
14
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
namespace :spec do
|
|
16
|
+
desc "Run all unit and integration tests"
|
|
17
|
+
task :ci do
|
|
18
|
+
rspec_out_file = nil
|
|
19
|
+
sh "bundle exec rspec #{rspec_out_file} spec"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
desc "Run perf tests"
|
|
23
|
+
task :perf do
|
|
24
|
+
rspec_out_file = nil
|
|
25
|
+
sh "bundle exec ruby ./spec/benchmark/perf_test.rb"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
desc "Run all tests and generate coverage xml"
|
|
29
|
+
task :cov do
|
|
30
|
+
sh "bundle exec rspec #{rspec_out_file} spec"
|
|
31
|
+
end
|
|
25
32
|
end
|
|
@@ -4,7 +4,8 @@ module WorkerRoulette
|
|
|
4
4
|
def wait_for_work_orders(on_subscribe_callback = nil, &on_message_callback)
|
|
5
5
|
@redis_pubsub ||= WorkerRoulette.new_redis_pubsub #cannot use connection pool bc redis expects each obj to own its own pubsub connection for the life of the subscription
|
|
6
6
|
@redis_pubsub.on(:subscribe) {|channel, subscription_count| on_subscribe_callback.call(channel, subscription_count) if on_subscribe_callback}
|
|
7
|
-
@redis_pubsub.on(:message) {|channel, message|
|
|
7
|
+
@redis_pubsub.on(:message) {|channel, message| get_messages(message, channel, on_message_callback)}
|
|
8
|
+
set_timer(on_message_callback);
|
|
8
9
|
@redis_pubsub.subscribe(@channel)
|
|
9
10
|
end
|
|
10
11
|
|
|
@@ -34,8 +35,7 @@ module WorkerRoulette
|
|
|
34
35
|
end
|
|
35
36
|
|
|
36
37
|
def set_timer(on_message_callback)
|
|
37
|
-
return
|
|
38
|
-
@timer && @timer.cancel
|
|
38
|
+
return if (@timer || !on_message_callback)
|
|
39
39
|
@timer = EM::PeriodicTimer.new(rand(20..25)) do
|
|
40
40
|
work_orders! {|work_orders| on_message_callback.call(work_orders, nil, nil)}
|
|
41
41
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,19 +1,8 @@
|
|
|
1
1
|
require 'worker_roulette'
|
|
2
2
|
require 'evented-spec'
|
|
3
|
-
require 'simplecov'
|
|
4
|
-
require 'simplecov-rcov'
|
|
5
3
|
require 'rspec'
|
|
6
4
|
require 'pry'
|
|
7
5
|
|
|
8
|
-
class SimpleCov::Formatter::MergedFormatter
|
|
9
|
-
def format(result)
|
|
10
|
-
SimpleCov::Formatter::HTMLFormatter.new.format(result)
|
|
11
|
-
SimpleCov::Formatter::RcovFormatter.new.format(result)
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
|
|
15
|
-
SimpleCov.start
|
|
16
|
-
|
|
17
6
|
require File.expand_path(File.join("..", "..", "lib", "worker_roulette.rb"), __FILE__)
|
|
18
7
|
include WorkerRoulette
|
|
19
8
|
|
metadata
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: worker_roulette
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.1.6
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Paul Saieg
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2014-
|
|
11
|
+
date: 2014-06-13 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: oj
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
17
|
- - ! '>='
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
@@ -22,7 +20,6 @@ dependencies:
|
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
24
|
- - ! '>='
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
@@ -30,7 +27,6 @@ dependencies:
|
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: redis
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
31
|
- - ~>
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
@@ -38,7 +34,6 @@ dependencies:
|
|
|
38
34
|
type: :runtime
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
38
|
- - ~>
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
@@ -46,7 +41,6 @@ dependencies:
|
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: hiredis
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
45
|
- - ~>
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
@@ -54,7 +48,6 @@ dependencies:
|
|
|
54
48
|
type: :runtime
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
51
|
requirements:
|
|
59
52
|
- - ~>
|
|
60
53
|
- !ruby/object:Gem::Version
|
|
@@ -62,7 +55,6 @@ dependencies:
|
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
|
63
56
|
name: em-hiredis
|
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
58
|
requirements:
|
|
67
59
|
- - ~>
|
|
68
60
|
- !ruby/object:Gem::Version
|
|
@@ -70,7 +62,6 @@ dependencies:
|
|
|
70
62
|
type: :runtime
|
|
71
63
|
prerelease: false
|
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
65
|
requirements:
|
|
75
66
|
- - ~>
|
|
76
67
|
- !ruby/object:Gem::Version
|
|
@@ -78,7 +69,6 @@ dependencies:
|
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
|
79
70
|
name: connection_pool
|
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
72
|
requirements:
|
|
83
73
|
- - ! '>='
|
|
84
74
|
- !ruby/object:Gem::Version
|
|
@@ -86,7 +76,6 @@ dependencies:
|
|
|
86
76
|
type: :runtime
|
|
87
77
|
prerelease: false
|
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
79
|
requirements:
|
|
91
80
|
- - ! '>='
|
|
92
81
|
- !ruby/object:Gem::Version
|
|
@@ -94,7 +83,6 @@ dependencies:
|
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
|
95
84
|
name: eventmachine
|
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
86
|
requirements:
|
|
99
87
|
- - ~>
|
|
100
88
|
- !ruby/object:Gem::Version
|
|
@@ -102,7 +90,6 @@ dependencies:
|
|
|
102
90
|
type: :runtime
|
|
103
91
|
prerelease: false
|
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
93
|
requirements:
|
|
107
94
|
- - ~>
|
|
108
95
|
- !ruby/object:Gem::Version
|
|
@@ -110,7 +97,6 @@ dependencies:
|
|
|
110
97
|
- !ruby/object:Gem::Dependency
|
|
111
98
|
name: bundler
|
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
|
113
|
-
none: false
|
|
114
100
|
requirements:
|
|
115
101
|
- - ! '>='
|
|
116
102
|
- !ruby/object:Gem::Version
|
|
@@ -118,7 +104,6 @@ dependencies:
|
|
|
118
104
|
type: :development
|
|
119
105
|
prerelease: false
|
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
none: false
|
|
122
107
|
requirements:
|
|
123
108
|
- - ! '>='
|
|
124
109
|
- !ruby/object:Gem::Version
|
|
@@ -126,7 +111,6 @@ dependencies:
|
|
|
126
111
|
- !ruby/object:Gem::Dependency
|
|
127
112
|
name: rake
|
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
none: false
|
|
130
114
|
requirements:
|
|
131
115
|
- - ! '>='
|
|
132
116
|
- !ruby/object:Gem::Version
|
|
@@ -134,7 +118,6 @@ dependencies:
|
|
|
134
118
|
type: :development
|
|
135
119
|
prerelease: false
|
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
-
none: false
|
|
138
121
|
requirements:
|
|
139
122
|
- - ! '>='
|
|
140
123
|
- !ruby/object:Gem::Version
|
|
@@ -142,7 +125,6 @@ dependencies:
|
|
|
142
125
|
- !ruby/object:Gem::Dependency
|
|
143
126
|
name: rspec
|
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
|
145
|
-
none: false
|
|
146
128
|
requirements:
|
|
147
129
|
- - ! '>='
|
|
148
130
|
- !ruby/object:Gem::Version
|
|
@@ -150,7 +132,6 @@ dependencies:
|
|
|
150
132
|
type: :development
|
|
151
133
|
prerelease: false
|
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
153
|
-
none: false
|
|
154
135
|
requirements:
|
|
155
136
|
- - ! '>='
|
|
156
137
|
- !ruby/object:Gem::Version
|
|
@@ -158,7 +139,6 @@ dependencies:
|
|
|
158
139
|
- !ruby/object:Gem::Dependency
|
|
159
140
|
name: pry-debugger
|
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
|
161
|
-
none: false
|
|
162
142
|
requirements:
|
|
163
143
|
- - ! '>='
|
|
164
144
|
- !ruby/object:Gem::Version
|
|
@@ -166,7 +146,6 @@ dependencies:
|
|
|
166
146
|
type: :development
|
|
167
147
|
prerelease: false
|
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
169
|
-
none: false
|
|
170
149
|
requirements:
|
|
171
150
|
- - ! '>='
|
|
172
151
|
- !ruby/object:Gem::Version
|
|
@@ -174,7 +153,6 @@ dependencies:
|
|
|
174
153
|
- !ruby/object:Gem::Dependency
|
|
175
154
|
name: simplecov
|
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
|
177
|
-
none: false
|
|
178
156
|
requirements:
|
|
179
157
|
- - ! '>='
|
|
180
158
|
- !ruby/object:Gem::Version
|
|
@@ -182,7 +160,6 @@ dependencies:
|
|
|
182
160
|
type: :development
|
|
183
161
|
prerelease: false
|
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
185
|
-
none: false
|
|
186
163
|
requirements:
|
|
187
164
|
- - ! '>='
|
|
188
165
|
- !ruby/object:Gem::Version
|
|
@@ -190,7 +167,6 @@ dependencies:
|
|
|
190
167
|
- !ruby/object:Gem::Dependency
|
|
191
168
|
name: simplecov-rcov
|
|
192
169
|
requirement: !ruby/object:Gem::Requirement
|
|
193
|
-
none: false
|
|
194
170
|
requirements:
|
|
195
171
|
- - ! '>='
|
|
196
172
|
- !ruby/object:Gem::Version
|
|
@@ -198,7 +174,6 @@ dependencies:
|
|
|
198
174
|
type: :development
|
|
199
175
|
prerelease: false
|
|
200
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
201
|
-
none: false
|
|
202
177
|
requirements:
|
|
203
178
|
- - ! '>='
|
|
204
179
|
- !ruby/object:Gem::Version
|
|
@@ -206,7 +181,6 @@ dependencies:
|
|
|
206
181
|
- !ruby/object:Gem::Dependency
|
|
207
182
|
name: rspec_junit_formatter
|
|
208
183
|
requirement: !ruby/object:Gem::Requirement
|
|
209
|
-
none: false
|
|
210
184
|
requirements:
|
|
211
185
|
- - ! '>='
|
|
212
186
|
- !ruby/object:Gem::Version
|
|
@@ -214,7 +188,6 @@ dependencies:
|
|
|
214
188
|
type: :development
|
|
215
189
|
prerelease: false
|
|
216
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
217
|
-
none: false
|
|
218
191
|
requirements:
|
|
219
192
|
- - ! '>='
|
|
220
193
|
- !ruby/object:Gem::Version
|
|
@@ -222,7 +195,6 @@ dependencies:
|
|
|
222
195
|
- !ruby/object:Gem::Dependency
|
|
223
196
|
name: evented-spec
|
|
224
197
|
requirement: !ruby/object:Gem::Requirement
|
|
225
|
-
none: false
|
|
226
198
|
requirements:
|
|
227
199
|
- - ! '>='
|
|
228
200
|
- !ruby/object:Gem::Version
|
|
@@ -230,7 +202,6 @@ dependencies:
|
|
|
230
202
|
type: :development
|
|
231
203
|
prerelease: false
|
|
232
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
233
|
-
none: false
|
|
234
205
|
requirements:
|
|
235
206
|
- - ! '>='
|
|
236
207
|
- !ruby/object:Gem::Version
|
|
@@ -238,7 +209,6 @@ dependencies:
|
|
|
238
209
|
- !ruby/object:Gem::Dependency
|
|
239
210
|
name: guard
|
|
240
211
|
requirement: !ruby/object:Gem::Requirement
|
|
241
|
-
none: false
|
|
242
212
|
requirements:
|
|
243
213
|
- - ! '>='
|
|
244
214
|
- !ruby/object:Gem::Version
|
|
@@ -246,7 +216,6 @@ dependencies:
|
|
|
246
216
|
type: :development
|
|
247
217
|
prerelease: false
|
|
248
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
249
|
-
none: false
|
|
250
219
|
requirements:
|
|
251
220
|
- - ! '>='
|
|
252
221
|
- !ruby/object:Gem::Version
|
|
@@ -254,7 +223,6 @@ dependencies:
|
|
|
254
223
|
- !ruby/object:Gem::Dependency
|
|
255
224
|
name: guard-rspec
|
|
256
225
|
requirement: !ruby/object:Gem::Requirement
|
|
257
|
-
none: false
|
|
258
226
|
requirements:
|
|
259
227
|
- - ! '>='
|
|
260
228
|
- !ruby/object:Gem::Version
|
|
@@ -262,7 +230,6 @@ dependencies:
|
|
|
262
230
|
type: :development
|
|
263
231
|
prerelease: false
|
|
264
232
|
version_requirements: !ruby/object:Gem::Requirement
|
|
265
|
-
none: false
|
|
266
233
|
requirements:
|
|
267
234
|
- - ! '>='
|
|
268
235
|
- !ruby/object:Gem::Version
|
|
@@ -276,6 +243,7 @@ extra_rdoc_files: []
|
|
|
276
243
|
files:
|
|
277
244
|
- .gitignore
|
|
278
245
|
- .rspec
|
|
246
|
+
- .simplecov
|
|
279
247
|
- Gemfile
|
|
280
248
|
- Guardfile
|
|
281
249
|
- LICENSE.txt
|
|
@@ -299,27 +267,26 @@ files:
|
|
|
299
267
|
- worker_roulette.gemspec
|
|
300
268
|
homepage: https://github.com/nexiahome/worker_roulette
|
|
301
269
|
licenses: []
|
|
270
|
+
metadata: {}
|
|
302
271
|
post_install_message:
|
|
303
272
|
rdoc_options: []
|
|
304
273
|
require_paths:
|
|
305
274
|
- lib
|
|
306
275
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
307
|
-
none: false
|
|
308
276
|
requirements:
|
|
309
277
|
- - ! '>='
|
|
310
278
|
- !ruby/object:Gem::Version
|
|
311
279
|
version: '0'
|
|
312
280
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
313
|
-
none: false
|
|
314
281
|
requirements:
|
|
315
282
|
- - ! '>='
|
|
316
283
|
- !ruby/object:Gem::Version
|
|
317
284
|
version: '0'
|
|
318
285
|
requirements: []
|
|
319
286
|
rubyforge_project:
|
|
320
|
-
rubygems_version:
|
|
287
|
+
rubygems_version: 2.2.2
|
|
321
288
|
signing_key:
|
|
322
|
-
specification_version:
|
|
289
|
+
specification_version: 4
|
|
323
290
|
summary: Write a gem summary
|
|
324
291
|
test_files:
|
|
325
292
|
- spec/benchmark/perf_test.rb
|
|
@@ -331,4 +298,3 @@ test_files:
|
|
|
331
298
|
- spec/unit/lua_spec.rb
|
|
332
299
|
- spec/unit/readlock_spec.rb
|
|
333
300
|
- spec/unit/worker_roulette_spec.rb
|
|
334
|
-
has_rdoc:
|