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

- old
+ new

@@ -1101,40 +1101,44 @@ # # 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(self.job_uuid) + Chimp.set_job_uuid(job_uuid) - Log.debug "[#{Chimp.get_job_uuid}] Processing task" + Log.debug "[#{job_uuid}] Processing task" # Add to our "processing" counter - Log.debug "[#{Chimp.get_job_uuid}] Trying to get array_info" unless Chimp.failure + Log.debug "[#{job_uuid}] Trying to get array_info" unless Chimp.failure get_array_info unless Chimp.failure - Log.debug "[#{Chimp.get_job_uuid}] Trying to get server_info" unless Chimp.failure + Log.debug "[#{job_uuid}] Trying to get server_info" unless Chimp.failure get_server_info unless Chimp.failure - Log.debug "[#{Chimp.get_job_uuid}] Trying to get template_info" unless Chimp.failure + Log.debug "[#{job_uuid}] Trying to get template_info" unless Chimp.failure get_template_info unless Chimp.failure - Log.debug "[#{Chimp.get_job_uuid}] Trying to get executable_info" unless Chimp.failure + 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 "["+self.job_uuid+"] API CALL FAILED FOR:" - Log.error "["+self.job_uuid+"] chimp #{@cli_args} " - Log.error "["+self.job_uuid+"] Run manually!" - Log.error "##################################################" + 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? Log.warn "[#{Chimp.get_job_uuid}] Nothing to do for \"chimp #{@cli_args}\"." return [] @@ -1181,21 +1185,28 @@ begin all = ChimpDaemonClient.retrieve_group_info(@chimpd_host, @chimpd_port, @group, :all) rescue RestClient::ResourceNotFound sleep 5 - $stdout.print "\nINFO: Waiting on group #{@group}" + $stdout.print "\nINFO: Waiting on group #{@group} to populate" retry end ChimpQueue.instance.create_group(@group) ChimpQueue[@group].set_jobs(all) - break if ChimpQueue[@group].done? + if ChimpQueue[@group].done? + Log.debug 'Group ' + @group.to_s + ' is completed' + jobs = ChimpQueue[@group].size + $stdout.print "\nINFO: Group #{@group} has completed (#{jobs} jobs)" + break + else + Log.debug 'Group ' + @group.to_s + ' is not done.' + end if sleeping_counter % 240 == 0 - $stdout.print "\nWaiting for group #{@group}" unless sleeping_counter == 0 + $stdout.print "\n(Still) Waiting for group #{@group}" unless sleeping_counter == 0 end $stdout.print "." $stdout.flush sleeping_counter += 5 sleep 5 @@ -1203,14 +1214,14 @@ # # If verify_results returns false, then ask chimpd to requeue all failed jobs. # case verify_results(@group) - when "continue" + when 'continue' break - when "retry" + when 'retry' ChimpDaemonClient.retry_group(@chimpd_host, @chimpd_port, @group) - when "pause" + when 'pause' @paused = true #stuck in this loop until action is taken end end ensure