[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