right_chimp 2.1.22.2 → 2.1.24

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: c22b012ce9b5f4ec956a9e8bc3d8b1fe0660d0b0
4
- data.tar.gz: 1c51f41cc9575e6134d9a51519634e70ae149963
3
+ metadata.gz: 3b8353c389aaf578df02f964a87778706144628b
4
+ data.tar.gz: 42bae4bf2b3e4246cf5ee31fea1709e42a3be2d7
5
5
  SHA512:
6
- metadata.gz: 7983b6254f8dac499342b10bfc9edd60149b6b53f8e8e81aac24c0af86999e72294274c7e9c52d89d028b6238c505e6fbfb55ab82a5d4033df3be4d94149386c
7
- data.tar.gz: e6c4ca7bc4ae4336fad48b4a4f4d5805bf099edcf2049fdb85fedbfd55995331b5b269bc34c5f192fee8e85fd562b8ddc2c83a9dc5cd78eb509738ae5ea12a97
6
+ metadata.gz: a60272b66e310894fdbbc393b5010dd12eeb9380c65aeeea84c5d152390edbf8a7f7a5330aea4188c2e8a4dd747b4502656278cac1ba4e29d71d22f6c3956559
7
+ data.tar.gz: 8edc1310533df69e7a192019c77aca13a799f529bc5b07de5eb0f7ea3af9d02a7b46cbb8efc796ab4b3f8fcf380a54f73252eacf1b4a7d704da1f61e3420ee47
data/CHANGES CHANGED
@@ -1,190 +1,199 @@
1
- Version 0.2.0
1
+ Version 2.1.24
2
2
  --------------
3
- * Initial non-alpha release
3
+ * Feature: We now ensure jobs are added and tracked into the processing status before sending a 200 back to
4
+ the client. As a result chimp wait until will never skip a group because of slow API performance.
4
5
 
5
- Version 0.2.2
6
- -------------
7
- * Feature: you can now specify a --script via its URI
8
- * Feature: initial release of chimpd
6
+ Version 2.1.23
7
+ --------------
8
+ * Feature: better chimp wait until done messaging.
9
9
 
10
- Version 0.2.3
11
- -------------
12
- * Bugfix: chimpd job id management was broken in some places
10
+ Version 2.1.22.2
11
+ --------------
12
+ * Bugfix: don't consume CPU in 'pause' mode
13
13
 
14
- Version 0.3.0
15
- -------------
16
- * Feature: New --dry-run option
17
- * Feature: Array instance execution now includes error checking (requires API 0.1)
18
- * Change: The work queue is now sorted by server name initially
19
- * Change: Refactored chimp and chimpd scripts into Real Ruby Objects
14
+ Version 2.1.22.1
15
+ --------------
16
+ * Bugfix: don't show retry/abort/ignore prompt in 'pause' mode
20
17
 
21
- Version 0.4.0
22
- -------------
23
- * Feature: "chimpd --exit" can be used to stop a chimpd server
24
- * Feature: chimp will now display a list of scripts to choose from
18
+ Version 2.1.22
19
+ --------------
20
+ * Bugfix: use 'pause' behaviour if there are no contents in stdin
25
21
 
26
- Version 0.4.1
27
- -------------
28
- * Feature: specify --script via numerical script id instead of full href
29
- * Bugfix: fixed --script href bug
30
- * Bugfix: fix chimpd submission from chimp exit code
22
+ Version 2.1.21
23
+ --------------
24
+ * Bugfix: Pull the correct path whenever loading up the erb template in webui.
31
25
 
32
- Version 0.4.2
26
+ Version 2.1.20
27
+ --------------
28
+ * Bugfix: We now correctly report the correct number of tasks waiting, in the json interface
29
+
30
+ Version 2.1.19.1
31
+ --------------
32
+ Reverted bad release
33
+
34
+ Version 2.1.16
35
+ --------------
36
+ * Bugfix: chimp --wait-until-done now honors the noprompt flag.
37
+
38
+ Version 2.1.15
39
+ ---------------
40
+ * Feature: We now are able to query a subset of job_uuids and total stats format.
41
+
42
+ Version 2.1.13
43
+ --------------
44
+ * Feature: Web UI now shows job_uuid
45
+ * Feature: Changed error reporting format
46
+ * Feature: One can now associate a "note" to a job by using --job-notes="foo"
47
+
48
+ Version 2.1.4
33
49
  -------------
34
- * Bugfix: fixed chimpd submission
35
- * Feature: Improved ability to ignore runaway tasks in chimpd
50
+ * Bugfix: Fixed UI issues casued by long job names
36
51
 
37
- Version 0.4.3
52
+ Version 2.1.3
38
53
  -------------
39
- * Feature: If ServerArrays cannot be found, print a warning instead of failing
54
+ * Feature: chimpd-wait-until now dsiplays the group name it is waiting on every 120secs
40
55
 
41
- Version 0.4.5
56
+ Version 2.1
57
+ -----------
58
+ * 'Feature': Updated to run with Ruby 2.2.2, with minor version increment accoridngly.
59
+
60
+ Version 2.0
61
+ -----------
62
+ * Feature: Deprecated all Rightscale API1.0 calls in favor of Rightscale API1.5 and API1.6 calls.
63
+
64
+ Version 1.1.3
42
65
  -------------
43
- * Feature: add support for setting inputs when executing RightScripts (--input)
44
- * Feature: add ignore-errors command line flag
45
- * Feature: now using the USER environment variable for ssh jobs
66
+ * Bugfix: Fix issue where queued/held jobs move into a waiting state and do nothing
46
67
 
47
- Version 0.4.6
68
+ Version 1.1.2
48
69
  -------------
49
- * Bugfix: add --ssh-user flag to replace buggy USER env. variable feature
70
+ * Bugfix: Fix issue where ssh commands were non-functional
71
+ * Bugfix: Fix queueing of 'held' jobs to pull no more than one job from the queue
50
72
 
51
- Version 0.4.8
73
+ Version 1.1.1
52
74
  -------------
53
- * Bugfix: chimpd --verbose
75
+ * Bugfix: Enable timeouts on server arrays
54
76
 
55
- Version 0.4.9
77
+ Version 1.1.0
56
78
  -------------
57
- * Feature: log actions to file
58
- * Feature: retry/cancel all button added to chimpd
79
+ * Feature: Add a job state called 'holding' where jobs can be held until the user queues them
59
80
 
60
- Version 0.5.0
81
+ Version 1.0.9
61
82
  -------------
62
- * Feature: rewrite of queue system to support task grouping
63
- * Feature: detailed execution time reporting
64
- * Feature: new chimpd web interface skin
65
- * Feature: retry failed and cancel running
66
- * Feature: improved logging in chimpd
83
+ * Feature: Improved support for running chimp commands on any chimp daemon port
84
+ * Feature: Added inverted hot dog stand theme
67
85
 
68
- Version 0.5.1
86
+ Version 1.0.5
69
87
  -------------
70
- * Feature: move run_script_on_instances from API 0.1 to API 1.0 (rest_connection 06df205d7f)
88
+ * Feature: improved error handling and logging when submitting to chimpd
71
89
 
72
- Version 0.5.2
90
+ Version 1.0.4
73
91
  -------------
74
- * Feature: --noverify flag disables interactive verification of errors
92
+ * Feature: chimp output when using chimpd is better behaved
93
+ * Feature: chimpd client now log errors better, retries on failure
94
+ * Feature: chimp --chimpd-wait-until-done now returns immediately during a dry run
95
+ * Feature: chimp --chimpd-wait-until-done now blocks until a group has completed > 1 job
75
96
 
76
- Version 0.5.3
97
+ Version 1.0.3
77
98
  -------------
78
- * Bugfix: non-operational array instances are no longer operated upon
99
+ * Bugfix: fix race condition in chimpd serial groups
79
100
 
80
- Version 0.5.4
101
+ Version 1.0.2
81
102
  -------------
82
- * Bugfix: reduce log output during reporting
83
- * Feature: The --report flag now sets quiet mode and concurrency=5 by default
103
+ * Feature: Add support for specifying inputs on the command line when working with arrays
84
104
 
85
- Version 0.5.5
105
+ Version 1.0.1
86
106
  -------------
87
- * Bugfix: --limit flag wasn't sorting servers before executing
107
+ * Add missing ERB template for chimpd
88
108
 
89
109
  Version 1.0
90
110
  -----------
91
111
  * Initial open source release
92
112
 
93
- Version 1.0.1
113
+ Version 0.5.5
94
114
  -------------
95
- * Add missing ERB template for chimpd
115
+ * Bugfix: --limit flag wasn't sorting servers before executing
96
116
 
97
- Version 1.0.2
117
+ Version 0.5.4
98
118
  -------------
99
- * Feature: Add support for specifying inputs on the command line when working with arrays
119
+ * Feature: The --report flag now sets quiet mode and concurrency=5 by default
120
+ * Bugfix: reduce log output during reporting
100
121
 
101
- Version 1.0.3
122
+ Version 0.5.3
102
123
  -------------
103
- * Bugfix: fix race condition in chimpd serial groups
124
+ * Bugfix: non-operational array instances are no longer operated upon
104
125
 
105
- Version 1.0.4
126
+ Version 0.5.2
106
127
  -------------
107
- * Feature: chimp --chimpd-wait-until-done now blocks until a group has completed > 1 job
108
- * Feature: chimp --chimpd-wait-until-done now returns immediately during a dry run
109
- * Feature: chimpd client now log errors better, retries on failure
110
- * Feature: chimp output when using chimpd is better behaved
128
+ * Feature: --noverify flag disables interactive verification of errors
111
129
 
112
- Version 1.0.5
130
+ Version 0.5.1
113
131
  -------------
114
- * Feature: improved error handling and logging when submitting to chimpd
132
+ * Feature: move run_script_on_instances from API 0.1 to API 1.0 (rest_connection 06df205d7f)
115
133
 
116
- Version 1.0.9
134
+ Version 0.5.0
117
135
  -------------
118
- * Feature: Improved support for running chimp commands on any chimp daemon port
119
- * Feature: Added inverted hot dog stand theme
136
+ * Feature: improved logging in chimpd
137
+ * Feature: retry failed and cancel running
138
+ * Feature: new chimpd web interface skin
139
+ * Feature: detailed execution time reporting
140
+ * Feature: rewrite of queue system to support task grouping
120
141
 
121
- Version 1.1.0
142
+ Version 0.4.9
122
143
  -------------
123
- * Feature: Add a job state called 'holding' where jobs can be held until the user queues them
144
+ * Feature: retry/cancel all button added to chimpd
145
+ * Feature: log actions to file
124
146
 
125
- Version 1.1.1
147
+ Version 0.4.8
126
148
  -------------
127
- * Bugfix: Enable timeouts on server arrays
149
+ * Bugfix: chimpd --verbose
128
150
 
129
- Version 1.1.2
151
+ Version 0.4.6
130
152
  -------------
131
- * Bugfix: Fix queueing of 'held' jobs to pull no more than one job from the queue
132
- * Bugfix: Fix issue where ssh commands were non-functional
153
+ * Bugfix: add --ssh-user flag to replace buggy USER env. variable feature
133
154
 
134
- Version 1.1.3
155
+ Version 0.4.5
135
156
  -------------
136
- * Bugfix: Fix issue where queued/held jobs move into a waiting state and do nothing
137
-
138
- Version 2.0
139
- -----------
140
- * Feature: Deprecated all Rightscale API1.0 calls in favor of Rightscale API1.5 and API1.6 calls.
141
-
142
- Version 2.1
143
- -----------
144
- * 'Feature': Updated to run with Ruby 2.2.2, with minor version increment accoridngly.
157
+ * Feature: now using the USER environment variable for ssh jobs
158
+ * Feature: add ignore-errors command line flag
159
+ * Feature: add support for setting inputs when executing RightScripts (--input)
145
160
 
146
- Version 2.1.3
161
+ Version 0.4.3
147
162
  -------------
148
- * Feature: chimpd-wait-until now dsiplays the group name it is waiting on every 120secs
163
+ * Feature: If ServerArrays cannot be found, print a warning instead of failing
149
164
 
150
- Version 2.1.4
165
+ Version 0.4.2
151
166
  -------------
152
- * Bugfix: Fixed UI issues casued by long job names
153
-
154
- Version 2.1.13
155
- --------------
156
- * Feature: Changed error reporting format
157
- * Feature: Web UI now shows job_uuid
158
- * Feature: One can now associate a "note" to a job by using --job-notes="foo"
159
-
160
- Version 2.1.15
161
- ---------------
162
- * Feature: We now are able to query a subset of job_uuids and total stats format.
163
-
164
- Version 2.1.16
165
- --------------
166
- * Bugfix: chimp --wait-until-done now honors the noprompt flag.
167
+ * Feature: Improved ability to ignore runaway tasks in chimpd
168
+ * Bugfix: fixed chimpd submission
167
169
 
168
- Version 2.1.19.1
169
- --------------
170
- Reverted bad release
170
+ Version 0.4.1
171
+ -------------
172
+ * Bugfix: fix chimpd submission from chimp exit code
173
+ * Bugfix: fixed --script href bug
174
+ * Feature: specify --script via numerical script id instead of full href
171
175
 
172
- Version 2.1.20
173
- --------------
174
- * Bugfix: We now correctly report the correct number of tasks waiting, in the json interface
176
+ Version 0.4.0
177
+ -------------
178
+ * Feature: chimp will now display a list of scripts to choose from
179
+ * Feature: "chimpd --exit" can be used to stop a chimpd server
175
180
 
176
- Version 2.1.21
177
- --------------
178
- * Bugfix: Pull the correct path whenever loading up the erb template in webui.
181
+ Version 0.3.0
182
+ -------------
183
+ * Change: Refactored chimp and chimpd scripts into Real Ruby Objects
184
+ * Change: The work queue is now sorted by server name initially
185
+ * Feature: Array instance execution now includes error checking (requires API 0.1)
186
+ * Feature: New --dry-run option
179
187
 
180
- Version 2.1.22
181
- --------------
182
- * Bugfix: use 'pause' behaviour if there are no contents in stdin
188
+ Version 0.2.3
189
+ -------------
190
+ * Bugfix: chimpd job id management was broken in some places
183
191
 
184
- Version 2.1.22.1
185
- --------------
186
- * Bugfix: don't show retry/abort/ignore prompt in 'pause' mode
192
+ Version 0.2.2
193
+ -------------
194
+ * Feature: initial release of chimpd
195
+ * Feature: you can now specify a --script via its URI
187
196
 
188
- Version 2.1.22.2
189
- --------------
190
- * Bugfix: don't consume CPU in 'pause' mode
197
+ Version 0.2.0
198
+ -------------
199
+ * Initial non-alpha release
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- right_chimp (2.1.22.2)
4
+ right_chimp (2.1.24)
5
5
  highline (~> 1.7.2)
6
6
  nokogiri (~> 1.6.7.1)
7
7
  progressbar (~> 0.11.0)
@@ -16,7 +16,7 @@ GEM
16
16
  coderay (1.1.1)
17
17
  debug_inspector (0.0.2)
18
18
  diff-lcs (1.1.3)
19
- domain_name (0.5.20160615)
19
+ domain_name (0.5.20160826)
20
20
  unf (>= 0.0.5, < 1.0.0)
21
21
  highline (1.7.8)
22
22
  http-cookie (1.0.2)
@@ -1103,36 +1103,40 @@ module Chimp
1103
1103
  # This is used by chimpd, when processing a task.
1104
1104
  #
1105
1105
  def process
1106
+
1106
1107
  Chimp.set_failure(false)
1107
- Chimp.set_job_uuid(self.job_uuid)
1108
+ Chimp.set_job_uuid(job_uuid)
1108
1109
 
1109
- Log.debug "[#{Chimp.get_job_uuid}] Processing task"
1110
+ Log.debug "[#{job_uuid}] Processing task"
1110
1111
  # Add to our "processing" counter
1111
1112
 
1112
- Log.debug "[#{Chimp.get_job_uuid}] Trying to get array_info" unless Chimp.failure
1113
+ Log.debug "[#{job_uuid}] Trying to get array_info" unless Chimp.failure
1113
1114
  get_array_info unless Chimp.failure
1114
1115
 
1115
- Log.debug "[#{Chimp.get_job_uuid}] Trying to get server_info" unless Chimp.failure
1116
+ Log.debug "[#{job_uuid}] Trying to get server_info" unless Chimp.failure
1116
1117
  get_server_info unless Chimp.failure
1117
1118
 
1118
- Log.debug "[#{Chimp.get_job_uuid}] Trying to get template_info" unless Chimp.failure
1119
+ Log.debug "[#{job_uuid}] Trying to get template_info" unless Chimp.failure
1119
1120
  get_template_info unless Chimp.failure
1120
1121
 
1121
- Log.debug "[#{Chimp.get_job_uuid}] Trying to get executable_info" unless Chimp.failure
1122
+ Log.debug "[#{job_uuid}] Trying to get executable_info" unless Chimp.failure
1122
1123
  get_executable_info unless Chimp.failure
1123
1124
 
1124
1125
  # All elements of task have been processed
1125
1126
  ChimpDaemon.instance.semaphore.synchronize do
1127
+ # remove from the processing queue
1128
+ Log.debug 'Removing job: ' + job_uuid + ' from the processing queue for group: ' + group.to_s
1129
+ ChimpDaemon.instance.queue.processing[group].delete(job_uuid)
1126
1130
  ChimpDaemon.instance.proc_counter -= 1
1127
1131
  end
1128
1132
 
1129
1133
  if Chimp.failure
1130
1134
 
1131
- Log.error "##################################################"
1132
- Log.error "["+self.job_uuid+"] API CALL FAILED FOR:"
1133
- Log.error "["+self.job_uuid+"] chimp #{@cli_args} "
1134
- Log.error "["+self.job_uuid+"] Run manually!"
1135
- Log.error "##################################################"
1135
+ Log.error '##################################################'
1136
+ Log.error '[' + job_uuid + '] API CALL FAILED FOR:'
1137
+ Log.error '[' + job_uuid + "] chimp #{@cli_args} "
1138
+ Log.error '[' + job_uuid + '] Run manually!'
1139
+ Log.error '##################################################'
1136
1140
  return []
1137
1141
  else
1138
1142
  if @servers.first.nil? or @executable.nil?
@@ -1183,17 +1187,24 @@ module Chimp
1183
1187
  all = ChimpDaemonClient.retrieve_group_info(@chimpd_host, @chimpd_port, @group, :all)
1184
1188
  rescue RestClient::ResourceNotFound
1185
1189
  sleep 5
1186
- $stdout.print "\nINFO: Waiting on group #{@group}"
1190
+ $stdout.print "\nINFO: Waiting on group #{@group} to populate"
1187
1191
  retry
1188
1192
  end
1189
1193
 
1190
1194
  ChimpQueue.instance.create_group(@group)
1191
1195
  ChimpQueue[@group].set_jobs(all)
1192
1196
 
1193
- break if ChimpQueue[@group].done?
1197
+ if ChimpQueue[@group].done?
1198
+ Log.debug 'Group ' + @group.to_s + ' is completed'
1199
+ jobs = ChimpQueue[@group].size
1200
+ $stdout.print "\nINFO: Group #{@group} has completed (#{jobs} jobs)"
1201
+ break
1202
+ else
1203
+ Log.debug 'Group ' + @group.to_s + ' is not done.'
1204
+ end
1194
1205
 
1195
1206
  if sleeping_counter % 240 == 0
1196
- $stdout.print "\nWaiting for group #{@group}" unless sleeping_counter == 0
1207
+ $stdout.print "\n(Still) Waiting for group #{@group}" unless sleeping_counter == 0
1197
1208
  end
1198
1209
  $stdout.print "."
1199
1210
  $stdout.flush
@@ -1205,11 +1216,11 @@ module Chimp
1205
1216
  # If verify_results returns false, then ask chimpd to requeue all failed jobs.
1206
1217
  #
1207
1218
  case verify_results(@group)
1208
- when "continue"
1219
+ when 'continue'
1209
1220
  break
1210
- when "retry"
1221
+ when 'retry'
1211
1222
  ChimpDaemonClient.retry_group(@chimpd_host, @chimpd_port, @group)
1212
- when "pause"
1223
+ when 'pause'
1213
1224
  @paused = true
1214
1225
  #stuck in this loop until action is taken
1215
1226
  end
@@ -250,11 +250,9 @@ module Chimp
250
250
  (1..n).each do |n|
251
251
  @threads ||=[]
252
252
  @threads << Thread.new {
253
-
254
253
  while true
255
254
  begin
256
255
 
257
-
258
256
  queued_request = @chimp_queue.pop
259
257
  group = queued_request.group
260
258
  queued_request.interactive = false
@@ -343,14 +341,38 @@ module Chimp
343
341
  # /group/<name>/<status>
344
342
  #
345
343
  def do_GET(req, resp)
346
- jobs = {}
344
+ jobs = []
345
+ Log.debug 'get group info'
347
346
 
348
347
  group_name = req.request_uri.path.split('/')[-2]
349
348
  filter = req.request_uri.path.split('/')[-1]
349
+ # Quickly check processing jobs just in case
350
+ # Instance the entire queue
351
+ q = ChimpQueue.instance
352
+ g2 = q.processing[group_name.to_sym]
353
+
354
+ if g2
355
+ Log.debug 'Found processing job(s): ' + g2.inspect
356
+ else
357
+ Log.debug 'not found any processing jobs for that group: ' + g2.inspect
358
+ end
359
+
350
360
  g = ChimpQueue[group_name.to_sym]
351
- raise WEBrick::HTTPStatus::NotFound, "Group not found" unless g
352
- jobs = g.get_jobs_by_status(filter)
361
+ raise WEBrick::HTTPStatus::NotFound, 'Group not found' unless g || g2
362
+ jobs = g.get_jobs_by_status(filter) if g
363
+
364
+ # If there are processing jobs, add them as dummy executions.
365
+ if g2
366
+ Log.debug 'Group: ' + group_name + ' is processing:'
367
+ g2.each do |job|
368
+ Log.debug 'Job: ' + job
369
+ j = ExecRightScript.new(group: group_name, job_uuid: job)
370
+ jobs.push j
371
+ end
372
+ end
373
+
353
374
  resp.body = jobs.to_yaml
375
+
354
376
  raise WEBrick::HTTPStatus::OK
355
377
  end
356
378
 
@@ -407,19 +429,28 @@ module Chimp
407
429
  # Ask chimpd to process a Chimp object directly
408
430
  #
409
431
  if verb == 'process' or verb == 'add'
432
+ # comment the next line to GET STUCK IN PROCESSING forever
410
433
  ChimpDaemon.instance.chimp_queue.push payload
411
434
  ChimpDaemon.instance.semaphore.synchronize do
412
- ChimpDaemon.instance.proc_counter +=1
435
+ # While we are at it, we will store these processing jobs to prevent issues in the event
436
+ # of a very slow API response.
437
+ Log.debug 'Adding job: ' + job_uuid + ' to the processing queue for group: ' + group.to_s
438
+ q.processing[payload.group] = [] if q.processing[payload.group].nil?
439
+ q.processing[payload.group].push(payload.job_uuid)
440
+
441
+ ChimpDaemon.instance.proc_counter += 1
413
442
  end
414
- Log.debug "Tasks in the processing queue: #{ChimpDaemon.instance.proc_counter.to_s}"
415
- id = 0
443
+
444
+ Log.debug 'Tasks in the processing queue:' + ChimpDaemon.instance.proc_counter.to_s
445
+ Log.debug 'Pocessing:'
446
+ Log.debug q.processing.inspect
416
447
  elsif verb == 'update'
417
- puts "UPDATE"
448
+ puts 'UPDATE'
418
449
  q.get_job(job_id).status = payload.status
419
450
  end
420
451
 
421
452
  resp.body = {
422
- 'job_uuid' => job_uuid ,
453
+ 'job_uuid' => job_uuid,
423
454
  'id' => job_id
424
455
  }.to_yaml
425
456
 
@@ -429,7 +460,7 @@ module Chimp
429
460
  def do_GET(req, resp)
430
461
  id = self.get_id(req)
431
462
  verb = self.get_verb(req)
432
- job_results = "OK"
463
+ job_results = 'OK'
433
464
  queue = ChimpQueue.instance
434
465
 
435
466
  #
@@ -23,10 +23,10 @@ module Chimp
23
23
  id = YAML::load(response.body)['id']
24
24
  #ID changes upon execution, not upon submission.
25
25
  job_uuid = YAML::load(response.body)['job_uuid']
26
- puts "["+job_uuid+"]"
26
+ puts '[' + job_uuid + ']'
27
27
  return true
28
28
  else
29
- $stderr.puts "["+job_uuid+"] WARNING: error submitting to chimpd! response code: #{response.code}"
29
+ $stderr.puts '[' + job_uuid + "] WARNING: error submitting to chimpd! response code: #{response.code}"
30
30
  return false
31
31
  end
32
32
 
@@ -6,7 +6,7 @@ module Chimp
6
6
  class ChimpQueue
7
7
  include Singleton
8
8
 
9
- attr_accessor :delay, :retry_count, :max_threads, :group
9
+ attr_accessor :delay, :retry_count, :max_threads, :group, :processing
10
10
 
11
11
  def initialize
12
12
  @delay = 0
@@ -15,6 +15,7 @@ module Chimp
15
15
  @workers_never_exit = true
16
16
  @threads = []
17
17
  @semaphore = Mutex.new
18
+ @processing = {}
18
19
  self.reset!
19
20
  end
20
21
 
@@ -172,8 +172,8 @@ module Chimp
172
172
  return (
173
173
  get_jobs_by_status(Executor::STATUS_NONE).size == 0 &&
174
174
  get_jobs_by_status(Executor::STATUS_RUNNING).size == 0 &&
175
- get_jobs_by_status(Executor::STATUS_DONE).size > 0
176
- )
175
+ get_jobs_by_status(Executor::STATUS_DONE).size > 0
176
+ )
177
177
  end
178
178
 
179
179
  #
@@ -181,9 +181,9 @@ module Chimp
181
181
  #
182
182
  def running?
183
183
  total_jobs_running = get_jobs_by_status(Executor::STATUS_NONE).size +
184
- get_jobs_by_status(Executor::STATUS_RUNNING).size +
185
- get_jobs_by_status(Executor::STATUS_RETRYING).size
186
- return(total_jobs_running > 0)
184
+ get_jobs_by_status(Executor::STATUS_RUNNING).size +
185
+ get_jobs_by_status(Executor::STATUS_RETRYING).size
186
+ (total_jobs_running > 0)
187
187
  end
188
188
 
189
189
  #
@@ -1,3 +1,3 @@
1
1
  module Chimp
2
- VERSION = "2.1.22.2"
2
+ VERSION = "2.1.24"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: right_chimp
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.22.2
4
+ version: 2.1.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - RightScale Operations
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-08 00:00:00.000000000 Z
11
+ date: 2016-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake