[ARVADOS] updated: dc17bad908428e268b8ac1cab966902ce4c67d03
Git user
git at public.curoverse.com
Mon Jan 23 09:52:43 EST 2017
Summary of changes:
sdk/cwl/arvados_cwl/__init__.py | 5 +++--
sdk/cwl/arvados_cwl/fsaccess.py | 9 +++++----
2 files changed, 8 insertions(+), 6 deletions(-)
via dc17bad908428e268b8ac1cab966902ce4c67d03 (commit)
from 1bf2e116aae97f0a6a9ed0962cd74e092e3b4695 (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 dc17bad908428e268b8ac1cab966902ce4c67d03
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Mon Jan 23 09:52:34 2017 -0500
10812: Add num_retries to CollectionFetcher and collectionResolver.
diff --git a/sdk/cwl/arvados_cwl/__init__.py b/sdk/cwl/arvados_cwl/__init__.py
index cd9706c..4728196 100644
--- a/sdk/cwl/arvados_cwl/__init__.py
+++ b/sdk/cwl/arvados_cwl/__init__.py
@@ -705,6 +705,7 @@ def main(args, stdout, stderr, api_client=None, keep_client=None):
keep_client=keep_client),
fetcher_constructor=partial(CollectionFetcher,
api_client=api_client,
- keep_client=keep_client),
- resolver=partial(collectionResolver, api_client),
+ keep_client=keep_client,
+ num_retries=runner.num_retries),
+ resolver=partial(collectionResolver, api_client, num_retries=runner.num_retries),
logger_handler=arvados.log_handler)
diff --git a/sdk/cwl/arvados_cwl/fsaccess.py b/sdk/cwl/arvados_cwl/fsaccess.py
index b249da7..02e1656 100644
--- a/sdk/cwl/arvados_cwl/fsaccess.py
+++ b/sdk/cwl/arvados_cwl/fsaccess.py
@@ -129,17 +129,18 @@ class CollectionFsAccess(cwltool.stdfsaccess.StdFsAccess):
return os.path.realpath(path)
class CollectionFetcher(DefaultFetcher):
- def __init__(self, cache, session, api_client=None, keep_client=None):
+ def __init__(self, cache, session, api_client=None, keep_client=None, num_retries=4):
super(CollectionFetcher, self).__init__(cache, session)
self.api_client = api_client
self.fsaccess = CollectionFsAccess("", api_client=api_client, keep_client=keep_client)
+ self.num_retries = num_retries
def fetch_text(self, url):
if url.startswith("keep:"):
with self.fsaccess.open(url, "r") as f:
return f.read()
if url.startswith("arvwf:"):
- record = self.api_client.workflows().get(uuid=url[6:]).execute()
+ record = self.api_client.workflows().get(uuid=url[6:]).execute(num_retries=self.num_retries)
definition = record["definition"] + ('\nlabel: "%s"\n' % record["name"].replace('"', '\\"'))
return definition
return super(CollectionFetcher, self).fetch_text(url)
@@ -188,12 +189,12 @@ class CollectionFetcher(DefaultFetcher):
workflow_uuid_pattern = re.compile(r'[a-z0-9]{5}-7fd4e-[a-z0-9]{15}')
pipeline_template_uuid_pattern = re.compile(r'[a-z0-9]{5}-p5p6p-[a-z0-9]{15}')
-def collectionResolver(api_client, document_loader, uri):
+def collectionResolver(api_client, document_loader, uri, num_retries=4):
if workflow_uuid_pattern.match(uri):
return "arvwf:%s#main" % (uri)
if pipeline_template_uuid_pattern.match(uri):
- pt = api_client.pipeline_templates().get(uuid=uri).execute()
+ pt = api_client.pipeline_templates().get(uuid=uri).execute(num_retries=num_retries)
return "keep:" + pt["components"].values()[0]["script_parameters"]["cwl:tool"]
p = uri.split("/")
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list