sidekiq-client-cli 0.1.6 → 0.1.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.
- 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
|