allq_client 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -0
  3. data/README.md +0 -0
  4. data/Rakefile +0 -0
  5. data/allq_client-1.1.0.gem +0 -0
  6. data/allq_client.gemspec +0 -0
  7. data/deploy.sh +3 -0
  8. data/docs/ActionsApi.md +0 -0
  9. data/docs/AdminApi.md +0 -0
  10. data/docs/BasicPayload.md +0 -0
  11. data/docs/BasicResponse.md +0 -0
  12. data/docs/JobRef.md +0 -0
  13. data/docs/JobResponse.md +0 -0
  14. data/docs/NewJob.md +0 -0
  15. data/docs/NewParentJob.md +0 -0
  16. data/docs/StatsInfo.md +0 -0
  17. data/docs/StatsResults.md +0 -0
  18. data/docs/StatsTube.md +0 -0
  19. data/docs/Throttle.md +0 -0
  20. data/docs/TubeRef.md +0 -0
  21. data/lib/.DS_Store +0 -0
  22. data/lib/allq_client.rb +2 -1
  23. data/lib/allq_client/.DS_Store +0 -0
  24. data/lib/allq_client/api/actions_api.rb +96 -45
  25. data/lib/allq_client/api/admin_api.rb +62 -9
  26. data/lib/allq_client/api_client.rb +9 -9
  27. data/lib/allq_client/api_error.rb +1 -1
  28. data/lib/allq_client/configuration.rb +2 -2
  29. data/lib/allq_client/models/basic_payload.rb +7 -12
  30. data/lib/allq_client/models/basic_response.rb +7 -12
  31. data/lib/allq_client/models/job_ref.rb +7 -11
  32. data/lib/allq_client/models/job_response.rb +10 -14
  33. data/lib/allq_client/models/multiple_job_response.rb +187 -0
  34. data/lib/allq_client/models/new_job.rb +14 -18
  35. data/lib/allq_client/models/new_parent_job.rb +14 -18
  36. data/lib/allq_client/models/stats_info.rb +8 -12
  37. data/lib/allq_client/models/stats_results.rb +9 -13
  38. data/lib/allq_client/models/stats_tube.rb +12 -16
  39. data/lib/allq_client/models/throttle.rb +9 -13
  40. data/lib/allq_client/models/tube_ref.rb +7 -11
  41. data/lib/allq_client/version.rb +2 -2
  42. data/spec/api/actions_api_spec.rb +414 -12
  43. data/spec/api/admin_api_spec.rb +0 -0
  44. data/spec/api_client_spec.rb +0 -0
  45. data/spec/configuration_spec.rb +0 -0
  46. data/spec/models/basic_payload_spec.rb +0 -0
  47. data/spec/models/basic_response_spec.rb +0 -0
  48. data/spec/models/job_ref_spec.rb +0 -0
  49. data/spec/models/job_response_spec.rb +0 -0
  50. data/spec/models/new_job_spec.rb +0 -0
  51. data/spec/models/new_parent_job_spec.rb +0 -0
  52. data/spec/models/stats_info_spec.rb +0 -0
  53. data/spec/models/stats_results_spec.rb +0 -0
  54. data/spec/models/stats_tube_spec.rb +0 -0
  55. data/spec/models/throttle_spec.rb +0 -0
  56. data/spec/models/tube_ref_spec.rb +0 -0
  57. data/spec/spec_helper.rb +0 -0
  58. metadata +7 -2
@@ -13,6 +13,8 @@ Swagger Codegen version: 2.3.1
13
13
  require 'spec_helper'
14
14
  require 'json'
15
15
 
16
+ DEFAULT_TUBE = "default"
17
+ ALT_TUBE = ""
16
18
  # Unit tests for Allq::ActionsApi
17
19
  # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
20
  # Please update as you see appropriate
@@ -20,6 +22,10 @@ describe 'ActionsApi' do
20
22
  before do
21
23
  # run before each test
22
24
  @instance = Allq::ActionsApi.new
25
+ stats_result = AllQTools::get_stats[0]
26
+ stats_result.stats.each do |stat|
27
+ @instance.tube_delete(stat.tube)
28
+ end
23
29
  end
24
30
 
25
31
  after do
@@ -40,7 +46,12 @@ describe 'ActionsApi' do
40
46
  # @return [BasicResponse]
41
47
  describe 'bury_put test' do
42
48
  it "should work" do
43
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ AllQTools::add_job
50
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
51
+ job = @instance.job_get(DEFAULT_TUBE)
52
+ @instance.bury_put(job.id)
53
+ expect(AllQTools::get_buried(DEFAULT_TUBE)).to eq(1)
54
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(0)
44
55
  end
45
56
  end
46
57
 
@@ -53,7 +64,11 @@ describe 'ActionsApi' do
53
64
  # @return [BasicResponse]
54
65
  describe 'job_delete test' do
55
66
  it "should work" do
56
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
67
+ AllQTools::add_job
68
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
69
+ job = @instance.peek_get(DEFAULT_TUBE)
70
+ @instance.job_delete(job.id, tube: DEFAULT_TUBE)
71
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(0)
57
72
  end
58
73
  end
59
74
 
@@ -65,7 +80,31 @@ describe 'ActionsApi' do
65
80
  # @return [JobResponse]
66
81
  describe 'job_get test' do
67
82
  it "should work" do
68
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
83
+ AllQTools::add_job
84
+ job = @instance.job_get(DEFAULT_TUBE)
85
+ expect(AllQTools::get_reserved(DEFAULT_TUBE)).to eq(1)
86
+ expect(job.id).to be_truthy
87
+ end
88
+ end
89
+
90
+ # unit tests for multiple job_get
91
+ # Job
92
+ # Get job from queue
93
+ # @param tube Name of tube
94
+ # @param [Hash] opts the optional parameters
95
+ # @return [JobResponse]
96
+ describe 'mulitple_job_get test' do
97
+ it "should work" do
98
+ 1.upto(6) do
99
+ AllQTools::add_job
100
+ end
101
+ multiple_jobs = @instance.multiple_job_get(DEFAULT_TUBE, 4)
102
+ expect(multiple_jobs.jobs.length).to eq(4)
103
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(2)
104
+
105
+ multiple_jobs = @instance.multiple_job_get(DEFAULT_TUBE, 4)
106
+ expect(multiple_jobs.jobs.length).to eq(2)
107
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(0)
69
108
  end
70
109
  end
71
110
 
@@ -77,7 +116,10 @@ describe 'ActionsApi' do
77
116
  # @return [JobRef]
78
117
  describe 'job_post test' do
79
118
  it "should work" do
80
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
119
+ AllQTools::add_job
120
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
121
+ job = @instance.job_get(DEFAULT_TUBE)
122
+ expect(job.id).to be_truthy
81
123
  end
82
124
  end
83
125
 
@@ -88,8 +130,91 @@ describe 'ActionsApi' do
88
130
  # @param [Hash] opts the optional parameters
89
131
  # @return [JobRef]
90
132
  describe 'parent_job_post test' do
91
- it "should work" do
92
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
133
+ it "should work" do
134
+ new_parent_job = Allq::NewParentJob.new(tube: 'default',
135
+ body: '<PARENT_BODY>',
136
+ ttl: 1200,
137
+ delay: 0,
138
+ priority: 5,
139
+ timeout: 1000,
140
+ run_on_timeout: false,
141
+ limit: 2)
142
+ new_parent_job_response = @instance.parent_job_post(new_parent_job)
143
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(1)
144
+ job = AllQTools::new_job(DEFAULT_TUBE, nil, new_parent_job_response.job_id)
145
+ @instance.job_post(job)
146
+ job = AllQTools::new_job(DEFAULT_TUBE, nil, new_parent_job_response.job_id)
147
+ @instance.job_post(job)
148
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(2)
149
+ AllQTools::get_finish(DEFAULT_TUBE)
150
+ AllQTools::get_finish(DEFAULT_TUBE)
151
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
152
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(0)
153
+ AllQTools::get_finish(DEFAULT_TUBE)
154
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(0)
155
+ end
156
+ end
157
+
158
+ # unit tests for parent_job_post
159
+ # Parent Job
160
+ # Create a parent job
161
+ # @param new_parent_job New Parent Job Data
162
+ # @param [Hash] opts the optional parameters
163
+ # @return [JobRef]
164
+ describe 'parent_job_post test with different tubes' do
165
+ it "should work" do
166
+ new_parent_job = Allq::NewParentJob.new(tube: 'default',
167
+ body: '<PARENT_BODY>',
168
+ ttl: 1200,
169
+ delay: 0,
170
+ priority: 5,
171
+ timeout: 1000,
172
+ run_on_timeout: false,
173
+ limit: 2)
174
+ new_parent_job_response = @instance.parent_job_post(new_parent_job)
175
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(1)
176
+
177
+ job = AllQTools::new_job('foo', nil, new_parent_job_response.job_id)
178
+ @instance.job_post(job)
179
+ job = AllQTools::new_job('foo', nil, new_parent_job_response.job_id)
180
+ @instance.job_post(job)
181
+ expect(AllQTools::get_ready('foo')).to eq(2)
182
+ AllQTools::get_finish('foo')
183
+ AllQTools::get_finish('foo')
184
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
185
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(0)
186
+ AllQTools::get_finish(DEFAULT_TUBE)
187
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(0)
188
+ end
189
+ end
190
+
191
+ # unit tests for parent_job_post
192
+ # Parent Job
193
+ # Create a parent job
194
+ # @param new_parent_job New Parent Job Data
195
+ # @param [Hash] opts the optional parameters
196
+ # @return [JobRef]
197
+ describe 'parent_job_post should timeout if child not completed in time' do
198
+ fit "should work" do
199
+ new_parent_job = Allq::NewParentJob.new(tube: 'default',
200
+ body: '<PARENT_BODY>',
201
+ ttl: 1200,
202
+ delay: 0,
203
+ priority: 5,
204
+ timeout: 2,
205
+ run_on_timeout: true,
206
+ limit: 2)
207
+ new_parent_job_response = @instance.parent_job_post(new_parent_job)
208
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(1)
209
+
210
+ job = AllQTools::new_job('foo', nil, new_parent_job_response.job_id)
211
+ @instance.job_post(job)
212
+ expect(AllQTools::get_ready('foo')).to eq(1)
213
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(1)
214
+
215
+ sleep(7)
216
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(0)
217
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
93
218
  end
94
219
  end
95
220
 
@@ -102,7 +227,36 @@ describe 'ActionsApi' do
102
227
  # @return [JobResponse]
103
228
  describe 'peek_get test' do
104
229
  it "should work" do
105
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
230
+ AllQTools::add_job
231
+ job = @instance.peek_get(DEFAULT_TUBE)
232
+ expect(job.id).to be_truthy
233
+ end
234
+ end
235
+
236
+ describe 'peek_get buried test' do
237
+ it "should work" do
238
+ AllQTools::add_job
239
+ job = @instance.peek_get(DEFAULT_TUBE, buried: true)
240
+ expect(job.id).to be_falsey
241
+ job = @instance.job_get(DEFAULT_TUBE)
242
+ @instance.bury_put(job.id)
243
+ job = @instance.peek_get(DEFAULT_TUBE, buried: true)
244
+ expect(job.id).to be_truthy
245
+
246
+ end
247
+ end
248
+
249
+ # unit tests for peek_get
250
+ # Peek
251
+ # Peek at next job
252
+ # @param tube Tube name
253
+ # @param [Hash] opts the optional parameters
254
+ # @option opts [String] :buried Look in buried
255
+ # @return [JobResponse]
256
+ describe 'peek_get test(no jobs)' do
257
+ it "should work" do
258
+ job = @instance.peek_get(DEFAULT_TUBE)
259
+ expect(job.id).to be_falsey
106
260
  end
107
261
  end
108
262
 
@@ -114,7 +268,31 @@ describe 'ActionsApi' do
114
268
  # @return [BasicResponse]
115
269
  describe 'release_put test' do
116
270
  it "should work" do
117
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
271
+ AllQTools::add_job
272
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
273
+ job = @instance.job_get(DEFAULT_TUBE)
274
+ expect(AllQTools::get_reserved(DEFAULT_TUBE)).to eq(1)
275
+ expect(job.id).to be_truthy
276
+ @instance.release_put(job.id)
277
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
278
+ end
279
+ end
280
+
281
+ describe 'release should increment release' do
282
+ it "should work" do
283
+ AllQTools::add_job
284
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
285
+ job = @instance.job_get(DEFAULT_TUBE)
286
+ expect(job.releases).to eq(0)
287
+ @instance.release_put(job.id)
288
+ sleep(1)
289
+ job = @instance.job_get(DEFAULT_TUBE)
290
+ expect(job.releases).to eq(1)
291
+ @instance.release_put(job.id)
292
+ sleep(1)
293
+ job = @instance.job_get(DEFAULT_TUBE)
294
+ expect(job.releases).to eq(2)
295
+
118
296
  end
119
297
  end
120
298
 
@@ -126,7 +304,34 @@ describe 'ActionsApi' do
126
304
  # @return [BasicResponse]
127
305
  describe 'set_children_started_put test' do
128
306
  it "should work" do
129
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
307
+ new_parent_job = Allq::NewParentJob.new(tube: 'default',
308
+ body: '<PARENT_BODY>',
309
+ ttl: 1200,
310
+ delay: 0,
311
+ priority: 5,
312
+ timeout: 1000,
313
+ run_on_timeout: false,
314
+ limit: nil)
315
+ new_parent_job_response = @instance.parent_job_post(new_parent_job)
316
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(1)
317
+ job = AllQTools::new_job(DEFAULT_TUBE, nil, new_parent_job_response.job_id)
318
+ @instance.job_post(job)
319
+ job = AllQTools::new_job(DEFAULT_TUBE, nil, new_parent_job_response.job_id)
320
+ @instance.job_post(job)
321
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(2)
322
+ AllQTools::get_finish(DEFAULT_TUBE)
323
+ AllQTools::get_finish(DEFAULT_TUBE)
324
+ # After jobs have already finished
325
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(0)
326
+ # Parent still waiting
327
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(1)
328
+ # Set limit on parent
329
+ @instance.set_children_started_put(new_parent_job_response.job_id)
330
+ # Now parent gets moved to ready
331
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
332
+ expect(AllQTools::get_parents(DEFAULT_TUBE)).to eq(0)
333
+ AllQTools::get_finish(DEFAULT_TUBE)
334
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(0)
130
335
  end
131
336
  end
132
337
 
@@ -138,7 +343,24 @@ describe 'ActionsApi' do
138
343
  # @return [TubeRef]
139
344
  describe 'throttle_post test' do
140
345
  it "should work" do
141
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
346
+ throttle = Allq::Throttle.new(tps: 5, tube: "throttled")
347
+ @instance.throttle_post(throttle)
348
+ end
349
+ end
350
+
351
+ # unit tests for stats
352
+ # Stats Action Count
353
+ # Checks action count
354
+ # @param throttle Throttle info
355
+ # @param [Hash] opts the optional parameters
356
+ # @return [TubeRef]
357
+ describe 'throttle_post test' do
358
+ it "should work" do
359
+ AllQTools::add_job
360
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
361
+ @instance.job_get(DEFAULT_TUBE)
362
+ stats_result = AllQTools::get_stats[0]
363
+ expect(stats_result.action_count > 1).to eq(true)
142
364
  end
143
365
  end
144
366
 
@@ -150,7 +372,10 @@ describe 'ActionsApi' do
150
372
  # @return [BasicResponse]
151
373
  describe 'touch_put test' do
152
374
  it "should work" do
153
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
375
+ AllQTools::add_job
376
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1)
377
+ job = @instance.job_get(DEFAULT_TUBE)
378
+ @instance.touch_put(job.id)
154
379
  end
155
380
  end
156
381
 
@@ -162,8 +387,185 @@ describe 'ActionsApi' do
162
387
  # @return [BasicResponse]
163
388
  describe 'tube_delete test' do
164
389
  it "should work" do
165
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
390
+ alt_tube_name = "alt_tube"
391
+ new_job = Allq::NewJob.new(tube: alt_tube_name,
392
+ body: "Some body",
393
+ ttl: 1200,
394
+ delay: 0,
395
+ priority: 5,
396
+ parent_id: nil)
397
+ @instance.job_post(new_job)
398
+ new_job = Allq::NewJob.new(tube: alt_tube_name,
399
+ body: "Some body",
400
+ ttl: 1200,
401
+ delay: 0,
402
+ priority: 5,
403
+ parent_id: nil)
404
+ @instance.job_post(new_job)
405
+ new_job = Allq::NewJob.new(tube: alt_tube_name,
406
+ body: "Some body",
407
+ ttl: 1200,
408
+ delay: 0,
409
+ priority: 5,
410
+ parent_id: nil)
411
+ @instance.job_post(new_job)
412
+ new_job = Allq::NewJob.new(tube: "alt_tube2",
413
+ body: "Some body",
414
+ ttl: 1200,
415
+ delay: 0,
416
+ priority: 5,
417
+ parent_id: nil)
418
+ @instance.job_post(new_job)
419
+ new_job = Allq::NewJob.new(tube: "alt_tube2",
420
+ body: "Some body",
421
+ ttl: 1200,
422
+ delay: 0,
423
+ priority: 5,
424
+ parent_id: nil)
425
+ @instance.job_post(new_job)
426
+ expect(AllQTools::get_ready("alt_tube2")).to eq(2) # OK..it's there
427
+ reserved_job = @instance.job_get("alt_tube2")
428
+
429
+ # Other tube has 1 ready, 1 reserved
430
+ expect(AllQTools::get_ready("alt_tube2")).to eq(1)
431
+ expect(AllQTools::get_reserved("alt_tube2")).to eq(1)
432
+
433
+ # Get 1 into buried, 1 into reserved, and 1 in ready so we can clear it
434
+ expect(AllQTools::get_ready(alt_tube_name)).to eq(3) # OK..it's there
435
+ reserved_job = @instance.job_get(alt_tube_name)
436
+ expect(AllQTools::get_reserved(alt_tube_name)).to eq(1) # OK..it's there
437
+ reserved_job = @instance.job_get(alt_tube_name)
438
+ expect(AllQTools::get_reserved(alt_tube_name)).to eq(2) # OK..it's there
439
+ @instance.bury_put(reserved_job.id)
440
+ expect(AllQTools::get_buried(alt_tube_name)).to eq(1)
441
+
442
+ # Now check that first tube is empty
443
+ @instance.tube_delete(alt_tube_name)
444
+ expect(AllQTools::get_buried(alt_tube_name)).to eq(0)
445
+ expect(AllQTools::get_reserved(alt_tube_name)).to eq(0) # OK..it's there
446
+ expect(AllQTools::get_ready(alt_tube_name)).to eq(0)
447
+
448
+ # ..and other tubes are fine
449
+ expect(AllQTools::get_ready("alt_tube2")).to eq(1)
450
+ expect(AllQTools::get_reserved("alt_tube2")).to eq(1)
166
451
  end
167
452
  end
168
453
 
454
+ # unit tests for delay
455
+ # Delay
456
+ describe 'delay test' do
457
+ it "should work" do
458
+ new_job = Allq::NewJob.new(tube: DEFAULT_TUBE,
459
+ body: "Some body",
460
+ ttl: 1200,
461
+ delay: 1,
462
+ priority: 5,
463
+ parent_id: nil)
464
+ @instance.job_post(new_job)
465
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(0) # Too soon to show up
466
+ sleep(4)
467
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1) # OK..it's there
468
+ end
469
+ end
470
+
471
+ # unit tests for expire
472
+ # Expire
473
+ describe 'expire test' do
474
+ it "should work" do
475
+ new_job = Allq::NewJob.new(tube: DEFAULT_TUBE,
476
+ body: "Some body",
477
+ ttl: 1,
478
+ delay: 0,
479
+ priority: 5,
480
+ parent_id: nil)
481
+ @instance.job_post(new_job)
482
+ sleep(1)
483
+ @instance.job_get(DEFAULT_TUBE)
484
+ expect(AllQTools::get_reserved(DEFAULT_TUBE)).to eq(1)
485
+ sleep(5)
486
+ expect(AllQTools::get_reserved(DEFAULT_TUBE)).to eq(0) # Should expire
487
+ expect(AllQTools::get_ready(DEFAULT_TUBE)).to eq(1) # ..and be back in ready
488
+ end
489
+ end
490
+
491
+ end
492
+
493
+
494
+ module AllQTools
495
+ class << self
496
+
497
+ def new_job(tube = 'default', body = nil, parent_id = nil)
498
+ body = (0...8).map { (65 + rand(26)).chr }.join unless body
499
+
500
+ new_job = Allq::NewJob.new(tube: tube,
501
+ body: body,
502
+ ttl: 1200,
503
+ delay: 0,
504
+ priority: 5,
505
+ parent_id:parent_id)
506
+ return new_job
507
+ end
508
+
509
+ def add_job(tube = DEFAULT_TUBE)
510
+ client = Allq::ActionsApi.new
511
+ job = new_job(tube)
512
+ job = client.job_post(new_job)
513
+ return job
514
+ end
515
+
516
+ def get_finish(tube)
517
+ client = Allq::ActionsApi.new
518
+ job = client.job_get(tube)
519
+ client.job_delete(job.id)
520
+ end
521
+
522
+ def get_stats
523
+ client = Allq::AdminApi.new
524
+ client.stats_get
525
+ end
526
+
527
+ def get_ready(tube)
528
+ stats = get_stats
529
+ count = 0
530
+ find_tueq(stats, tube) do |found_stat|
531
+ count += found_stat.ready.to_i
532
+ end
533
+ return count
534
+ end
535
+
536
+ def get_reserved(tube)
537
+ stats = get_stats
538
+ count = 0
539
+ find_tueq(stats, tube) do |found_stat|
540
+ count += found_stat.reserved.to_i
541
+ end
542
+ return count
543
+ end
544
+
545
+ def get_buried(tube)
546
+ stats = get_stats
547
+ count = 0
548
+ find_tueq(stats, tube) do |found_stat|
549
+ count += found_stat.buried.to_i
550
+ end
551
+ return count
552
+ end
553
+
554
+ def get_parents(tube)
555
+ stats = get_stats
556
+ count = 0
557
+ find_tueq(stats, tube) do |found_stat|
558
+ count += found_stat.parents.to_i
559
+ end
560
+ return count
561
+ end
562
+
563
+ def find_tueq(all_stats, tube)
564
+ all_stats.each do |server_stat|
565
+ server_stat.stats.each do |stat|
566
+ yield stat if stat.tube == tube
567
+ end
568
+ end
569
+ end
570
+ end
169
571
  end