diff --git a/lib/galaxy/jobs/runners/cli.py b/lib/galaxy/jobs/runners/cli.py index 20bb6d821a0..433550e0e2f 100644 --- a/lib/galaxy/jobs/runners/cli.py +++ b/lib/galaxy/jobs/runners/cli.py @@ -154,13 +154,16 @@ class ShellJobRunner( AsynchronousJobRunner ): ajs.job_wrapper.change_state( state ) else: if state != old_state: - log.debug("(%s/%s) state change: %s" % ( id_tag, external_job_id, state ) ) + log.debug("(%s/%s) state change: from %s to %s" % ( id_tag, external_job_id, old_state, state ) ) ajs.job_wrapper.change_state( state ) if state == model.Job.states.RUNNING and not ajs.running: ajs.running = True ajs.job_wrapper.change_state( model.Job.states.RUNNING ) ajs.old_state = state - new_watched.append( ajs ) + if state == model.Job.states.OK: + self.work_queue.put( ( self.finish_job, ajs ) ) + else: + new_watched.append( ajs ) # Replace the watch list with the updated version self.watched = new_watched