sidekiq-client-cli 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/sidekiq-client +2 -2
- data/lib/sidekiq_client_cli.rb +18 -10
- data/lib/sidekiq_client_cli/version.rb +1 -1
- data/spec/sidekiq_client_cli_spec.rb +28 -38
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81057e325bfea17dfcdc32ded3e762566f04b852
|
4
|
+
data.tar.gz: 134fd765c8cb6ca8fc9dcad824ef888514e7e3ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 076942c11f7f2987954315cf78a4988544827627d19d13ad93b04e405086b9254854d03749297c3fc63bb02f94c4ea34849c1e4a7c24f809cf0524e0a1359578
|
7
|
+
data.tar.gz: f24582aab8c62e625755ef7ffa3425f0eb8994e7a5dabbbb51a692e79043695caaf8514773dd385f4c261be8d05864aa1f47b9362eb3da1f40d92836b4bef9aa
|
data/bin/sidekiq-client
CHANGED
data/lib/sidekiq_client_cli.rb
CHANGED
@@ -41,18 +41,26 @@ class SidekiqClientCLI
|
|
41
41
|
self.send settings.command.to_sym
|
42
42
|
end
|
43
43
|
|
44
|
+
# Returns true if all args can be pushed successfully.
|
45
|
+
# Returns false if at least one exception occured.
|
44
46
|
def push
|
45
|
-
settings.command_args.
|
46
|
-
|
47
|
-
jid = Sidekiq::Client.push({ 'class' => arg,
|
48
|
-
'queue' => settings.queue,
|
49
|
-
'args' => [],
|
50
|
-
'retry' => settings.retry })
|
51
|
-
p "Posted #{arg} to queue '#{settings.queue}', Job ID : #{jid}, Retry : #{settings.retry}"
|
52
|
-
rescue StandardError => ex
|
53
|
-
p "Failed to push to queue : #{ex.message}"
|
54
|
-
end
|
47
|
+
settings.command_args.inject(true) do |success, arg|
|
48
|
+
push_argument arg
|
55
49
|
end
|
56
50
|
end
|
57
51
|
|
52
|
+
private
|
53
|
+
|
54
|
+
def push_argument(arg)
|
55
|
+
jid = Sidekiq::Client.push({ 'class' => arg,
|
56
|
+
'queue' => settings.queue,
|
57
|
+
'args' => [],
|
58
|
+
'retry' => settings.retry })
|
59
|
+
p "Posted #{arg} to queue '#{settings.queue}', Job ID : #{jid}, Retry : #{settings.retry}"
|
60
|
+
true
|
61
|
+
rescue StandardError => ex
|
62
|
+
p "Failed to push to queue : #{ex.message}"
|
63
|
+
false
|
64
|
+
end
|
65
|
+
|
58
66
|
end
|
@@ -157,97 +157,87 @@ describe SidekiqClientCLI do
|
|
157
157
|
let(:settings) { double("settings") }
|
158
158
|
let(:klass1) { "FirstWorker" }
|
159
159
|
let(:klass2) { "SecondWorker" }
|
160
|
+
let(:client) { SidekiqClientCLI.new }
|
160
161
|
|
161
162
|
before(:each) do
|
162
163
|
settings.stub(:command_args).and_return [klass1, klass2]
|
164
|
+
client.settings = settings
|
165
|
+
end
|
166
|
+
|
167
|
+
it 'returns true if all #push_argument calls return true' do
|
168
|
+
client.stub(:push_argument).and_return(true)
|
169
|
+
client.push.should eq true
|
170
|
+
end
|
171
|
+
|
172
|
+
it 'returns false if at least one #push_argument call fails' do
|
173
|
+
client.should_receive(:push_argument).with('FirstWorker').and_return(true)
|
174
|
+
client.should_receive(:push_argument).with('SecondWorker').and_return(false)
|
175
|
+
client.push.should eq false
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
describe '#push_argument' do
|
180
|
+
let(:settings) { double("settings", :queue => default_queue, :retry => default_retry_option) }
|
181
|
+
let(:klass1) { "FirstWorker" }
|
182
|
+
let(:client) { SidekiqClientCLI.new }
|
183
|
+
|
184
|
+
before(:each) do
|
185
|
+
client.settings = settings
|
163
186
|
end
|
164
187
|
|
165
188
|
it "pushes the worker classes" do
|
166
|
-
settings.stub(:queue).and_return default_queue
|
167
|
-
settings.stub(:retry).and_return default_retry_option
|
168
|
-
@client.settings = settings
|
169
189
|
Sidekiq::Client.should_receive(:push).with('class' => klass1,
|
170
190
|
'args' => [],
|
171
191
|
'queue' => default_queue,
|
172
192
|
'retry' => default_retry_option)
|
173
|
-
Sidekiq::Client.should_receive(:push).with('class' => klass2,
|
174
|
-
'args' => [],
|
175
|
-
'queue' => default_queue,
|
176
|
-
'retry' => default_retry_option)
|
177
193
|
|
178
|
-
|
194
|
+
client.__send__(:push_argument, klass1).should eq true
|
179
195
|
end
|
180
196
|
|
181
197
|
it "pushes the worker classes to the correct queue" do
|
182
198
|
queue = "Queue"
|
183
199
|
settings.stub(:queue).and_return queue
|
184
|
-
settings.stub(:retry).and_return default_retry_option
|
185
|
-
@client.settings = settings
|
186
200
|
|
187
201
|
Sidekiq::Client.should_receive(:push).with('class' => klass1,
|
188
202
|
'args' => [],
|
189
203
|
'queue' => queue,
|
190
204
|
'retry' => default_retry_option)
|
191
|
-
Sidekiq::Client.should_receive(:push).with('class' => klass2,
|
192
|
-
'args' => [],
|
193
|
-
'queue' => queue,
|
194
|
-
'retry' => default_retry_option)
|
195
205
|
|
196
|
-
|
206
|
+
client.__send__(:push_argument, klass1).should eq true
|
197
207
|
end
|
198
208
|
|
199
209
|
it 'pushes the worker classes with retry disabled' do
|
200
210
|
retry_option = false
|
201
|
-
settings.stub(:queue).and_return default_queue
|
202
211
|
settings.stub(:retry).and_return retry_option
|
203
|
-
@client.settings = settings
|
204
212
|
|
205
213
|
Sidekiq::Client.should_receive(:push).with('class' => klass1,
|
206
214
|
'args' => [],
|
207
215
|
'queue' => default_queue,
|
208
216
|
'retry' => retry_option)
|
209
|
-
Sidekiq::Client.should_receive(:push).with('class' => klass2,
|
210
|
-
'args' => [],
|
211
|
-
'queue' => default_queue,
|
212
|
-
'retry' => retry_option)
|
213
217
|
|
214
|
-
|
218
|
+
client.__send__(:push_argument, klass1).should eq true
|
215
219
|
end
|
216
220
|
|
217
221
|
it 'pushes the worker classes with a set retry number' do
|
218
222
|
retry_attempts = 5
|
219
|
-
settings.stub(:queue).and_return default_queue
|
220
223
|
settings.stub(:retry).and_return retry_attempts
|
221
|
-
@client.settings = settings
|
222
224
|
|
223
225
|
Sidekiq::Client.should_receive(:push).with('class' => klass1,
|
224
226
|
'args' => [],
|
225
227
|
'queue' => default_queue,
|
226
228
|
'retry' => retry_attempts)
|
227
|
-
Sidekiq::Client.should_receive(:push).with('class' => klass2,
|
228
|
-
'args' => [],
|
229
|
-
'queue' => default_queue,
|
230
|
-
'retry' => retry_attempts)
|
231
229
|
|
232
|
-
|
230
|
+
client.__send__(:push_argument, klass1).should eq true
|
233
231
|
end
|
234
232
|
|
235
233
|
it "prints and continues if an exception is raised" do
|
236
|
-
settings.stub(:queue).and_return default_queue
|
237
|
-
settings.stub(:retry).and_return default_retry_option
|
238
|
-
@client.settings = settings
|
239
|
-
|
240
234
|
Sidekiq::Client.should_receive(:push).with('class' => klass1,
|
241
235
|
'args' => [],
|
242
236
|
'queue' => default_queue,
|
243
237
|
'retry' => default_retry_option).and_raise
|
244
|
-
Sidekiq::Client.should_receive(:push).with('class' => klass2,
|
245
|
-
'args' => [],
|
246
|
-
'queue' => default_queue,
|
247
|
-
'retry' => default_retry_option)
|
248
238
|
|
249
239
|
out = IOHelper.stdout_read do
|
250
|
-
|
240
|
+
client.__send__(:push_argument, klass1).should eq false
|
251
241
|
end
|
252
242
|
out.should include("Failed to push")
|
253
243
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-client-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adil Haritah
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|