Merge branch 'wtsi/python-api-timeout' refs #13542
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 5 Sep 2018 18:53:17 +0000 (14:53 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 5 Sep 2018 18:53:17 +0000 (14:53 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

1  2 
sdk/cwl/arvados_cwl/__init__.py
sdk/python/arvados/api.py

index 8c3f0eadee8755ba63027893ce3425df09a082ad,ffccf4e971cbd2e64783d755f36cda1395f4a217..da24dc48465426ced81d1d37311b271bf45132a4
@@@ -537,13 -506,13 +537,13 @@@ http://doc.arvados.org/install/install-
                      "state": "RunningOnClient"}).execute(num_retries=self.num_retries)
              logger.info("Pipeline instance %s", self.pipeline["uuid"])
  
 -        if runnerjob and not kwargs.get("wait"):
 -            submitargs = kwargs.copy()
 -            submitargs['submit'] = False
 -            runnerjob.run(**submitargs)
 +        if runnerjob and not runtimeContext.wait:
 +            submitargs = runtimeContext.copy()
 +            submitargs.submit = False
 +            runnerjob.run(submitargs)
              return (runnerjob.uuid, "success")
  
-         self.poll_api = arvados.api('v1')
+         self.poll_api = arvados.api('v1', timeout=kwargs["http_timeout"])
          self.polling_thread = threading.Thread(target=self.poll_states)
          self.polling_thread.start()
  
@@@ -844,13 -804,16 +847,15 @@@ def main(args, stdout, stderr, api_clie
  
      try:
          if api_client is None:
-             api_client = arvados.safeapi.ThreadSafeApiCache(api_params={"model": OrderedJsonModel()}, keep_params={"num_retries": 4})
+             api_client = arvados.safeapi.ThreadSafeApiCache(
+                 api_params={"model": OrderedJsonModel(), "timeout": arvargs.http_timeout},
+                 keep_params={"num_retries": 4})
              keep_client = api_client.keep
 +            # Make an API object now so errors are reported early.
 +            api_client.users().current().execute()
          if keep_client is None:
              keep_client = arvados.keep.KeepClient(api_client=api_client, num_retries=4)
 -        runner = ArvCwlRunner(api_client, work_api=arvargs.work_api, keep_client=keep_client,
 -                              num_retries=4, output_name=arvargs.output_name,
 -                              output_tags=arvargs.output_tags,
 -                              thread_count=arvargs.thread_count)
 +        runner = ArvCwlRunner(api_client, arvargs, keep_client=keep_client, num_retries=4)
      except Exception as e:
          logger.error(e)
          return 1
Simple merge