lib/right_chimp/Chimp.rb in right_chimp-2.1.24 vs lib/right_chimp/Chimp.rb in right_chimp-2.1.25

- old
+ new

@@ -1101,11 +1101,10 @@ # # Completely process a non-interactive chimp object command # This is used by chimpd, when processing a task. # def process - Chimp.set_failure(false) Chimp.set_job_uuid(job_uuid) Log.debug "[#{job_uuid}] Processing task" # Add to our "processing" counter @@ -1121,31 +1120,33 @@ Log.debug "[#{job_uuid}] Trying to get executable_info" unless Chimp.failure get_executable_info unless Chimp.failure # All elements of task have been processed - ChimpDaemon.instance.semaphore.synchronize do - # remove from the processing queue - Log.debug 'Removing job: ' + job_uuid + ' from the processing queue for group: ' + group.to_s - ChimpDaemon.instance.queue.processing[group].delete(job_uuid) - ChimpDaemon.instance.proc_counter -= 1 - end if Chimp.failure Log.error '##################################################' Log.error '[' + job_uuid + '] API CALL FAILED FOR:' Log.error '[' + job_uuid + "] chimp #{@cli_args} " Log.error '[' + job_uuid + '] Run manually!' Log.error '##################################################' return [] else - if @servers.first.nil? or @executable.nil? + if @servers.first.nil? || @executable.nil? Log.warn "[#{Chimp.get_job_uuid}] Nothing to do for \"chimp #{@cli_args}\"." + # decrease our counter + ChimpDaemon.instance.queue.processing[@group].delete(job_uuid.to_sym) + ChimpDaemon.instance.proc_counter -= 1 return [] else - Log.debug "[#{Chimp.get_job_uuid}] Generating job..." + Log.debug "[#{Chimp.get_job_uuid}] Generating job(s)..." + Log.debug 'Increasing processing counter (' + ChimpDaemon.instance.proc_counter.to_s + ") + " + @servers.size.to_s + ' for group ' + @group.to_s + + ChimpDaemon.instance.queue.processing[@group][job_uuid.to_sym] += @servers.size + ChimpDaemon.instance.proc_counter += @servers.size - 1 + return generate_jobs(@servers, @server_template, @executable) end end end @@ -1172,10 +1173,9 @@ $stdout.print "Waiting for chimpd jobs to complete for group #{@group}..." begin while !@dry_run local_queue = ChimpQueue.instance - # # load up remote chimpd jobs into the local queue # this makes all the standard queue control methods available to us # sleeping_counter = 0