Commit 86b16e9d authored by Michael Hanselmann's avatar Michael Hanselmann

jqueue, CancelJob: Check status only once per call

This simplifies the code a bit--the status is only checked once.
Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
Reviewed-by: default avatarIustin Pop <iustin@google.com>
parent ebdefe95
......@@ -432,22 +432,19 @@ class _QueuedJob(object):
"""
status = self.CalcStatus()
if status not in (constants.JOB_STATUS_QUEUED,
constants.JOB_STATUS_WAITLOCK):
logging.debug("Job %s is no longer waiting in the queue", self.id)
return (False, "Job %s is no longer waiting in the queue" % self.id)
if status == constants.JOB_STATUS_QUEUED:
self.MarkUnfinishedOps(constants.OP_STATUS_CANCELED,
"Job canceled by request")
msg = "Job %s canceled" % self.id
return (True, "Job %s canceled" % self.id)
elif status == constants.JOB_STATUS_WAITLOCK:
# The worker will notice the new status and cancel the job
self.MarkUnfinishedOps(constants.OP_STATUS_CANCELING, None)
msg = "Job %s will be canceled" % self.id
return (True, "Job %s will be canceled" % self.id)
return (True, msg)
else:
logging.debug("Job %s is no longer waiting in the queue", self.id)
return (False, "Job %s is no longer waiting in the queue" % self.id)
class _OpExecCallbacks(mcpu.OpExecCbBase):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment