[ARVADOS] updated: 1.1.4-188-g32d79de
Git user
git at public.curoverse.com
Thu May 3 16:13:19 EDT 2018
Summary of changes:
sdk/cwl/arvados_cwl/__init__.py | 11 +++++------
sdk/cwl/arvados_cwl/arvcontainer.py | 3 ---
sdk/cwl/arvados_cwl/arvjob.py | 1 -
sdk/cwl/arvados_cwl/runner.py | 2 --
4 files changed, 5 insertions(+), 12 deletions(-)
via 32d79def3a400de6fbe4cd02a8c71643238d867d (commit)
from 6e098e8fde75fcec7e5be1a4873029f394bd055a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 32d79def3a400de6fbe4cd02a8c71643238d867d
Author: Peter Amstutz <pamstutz at veritasgenetics.com>
Date: Thu May 3 15:48:16 2018 -0400
13365: Further fixes to ensure output callback only happens once
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz at veritasgenetics.com>
diff --git a/sdk/cwl/arvados_cwl/__init__.py b/sdk/cwl/arvados_cwl/__init__.py
index 8b31ece..b5c9195 100644
--- a/sdk/cwl/arvados_cwl/__init__.py
+++ b/sdk/cwl/arvados_cwl/__init__.py
@@ -157,10 +157,11 @@ class ArvCwlRunner(object):
with self.workflow_eval_lock:
self.processes[container.uuid] = container
- def process_done(self, uuid):
+ def process_done(self, uuid, record):
with self.workflow_eval_lock:
- if uuid in self.processes:
- del self.processes[uuid]
+ j = self.processes[uuid]
+ self.task_queue.add(partial(j.done, record))
+ del self.processes[uuid]
def wrapped_callback(self, cb, obj, st):
with self.workflow_eval_lock:
@@ -181,10 +182,8 @@ class ArvCwlRunner(object):
j.update_pipeline_component(event["properties"]["new_attributes"])
logger.info("%s %s is Running", self.label(j), uuid)
elif event["properties"]["new_attributes"]["state"] in ("Complete", "Failed", "Cancelled", "Final"):
- with self.workflow_eval_lock:
- j = self.processes[uuid]
- self.task_queue.add(partial(j.done, event["properties"]["new_attributes"]))
logger.info("%s %s is %s", self.label(j), uuid, event["properties"]["new_attributes"]["state"])
+ self.process_done(uuid, event["properties"]["new_attributes"])
def label(self, obj):
return "[%s %s]" % (self.work_api[0:-1], obj.name)
diff --git a/sdk/cwl/arvados_cwl/arvcontainer.py b/sdk/cwl/arvados_cwl/arvcontainer.py
index 9588803..4e7811d 100644
--- a/sdk/cwl/arvados_cwl/arvcontainer.py
+++ b/sdk/cwl/arvados_cwl/arvcontainer.py
@@ -316,7 +316,6 @@ class ArvadosContainer(object):
processStatus = "permanentFail"
finally:
self.output_callback(outputs, processStatus)
- self.arvrunner.process_done(record["uuid"])
class RunnerContainer(Runner):
@@ -464,5 +463,3 @@ class RunnerContainer(Runner):
self.arvrunner.output_callback({}, "permanentFail")
else:
super(RunnerContainer, self).done(container)
- finally:
- self.arvrunner.process_done(record["uuid"])
diff --git a/sdk/cwl/arvados_cwl/arvjob.py b/sdk/cwl/arvados_cwl/arvjob.py
index 801be7d..04256c6 100644
--- a/sdk/cwl/arvados_cwl/arvjob.py
+++ b/sdk/cwl/arvados_cwl/arvjob.py
@@ -264,7 +264,6 @@ class ArvadosJob(object):
processStatus = "permanentFail"
finally:
self.output_callback(outputs, processStatus)
- self.arvrunner.process_done(record["uuid"])
class RunnerJob(Runner):
diff --git a/sdk/cwl/arvados_cwl/runner.py b/sdk/cwl/arvados_cwl/runner.py
index 6491933..8db3e61 100644
--- a/sdk/cwl/arvados_cwl/runner.py
+++ b/sdk/cwl/arvados_cwl/runner.py
@@ -431,5 +431,3 @@ class Runner(object):
self.arvrunner.output_callback({}, "permanentFail")
else:
self.arvrunner.output_callback(outputs, processStatus)
- finally:
- self.arvrunner.process_done(record["uuid"])
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list