self.output_name = output_name
self.output_tags = output_tags
self.project_uuid = None
- self.output_ttl = 0
+ self.intermediate_output_ttl = 0
self.intermediate_output_collections = []
if keep_client is not None:
collection_cache=self.collection_cache)
self.fs_access = make_fs_access(kwargs["basedir"])
- self.output_ttl = kwargs["intermediate_output_ttl"]
- if self.output_ttl and self.work_api != "containers":
+ self.intermediate_output_ttl = kwargs["intermediate_output_ttl"]
+ if self.intermediate_output_ttl and self.work_api != "containers":
raise Exception("--intermediate-output-ttl is only supported when using the containers api.")
if not kwargs.get("name"):
submit_runner_ram=kwargs.get("submit_runner_ram"),
name=kwargs.get("name"),
on_error=kwargs.get("on_error"),
- submit_runner_image=kwargs.get("submit_runner_image"))
+ submit_runner_image=kwargs.get("submit_runner_image"),
+ intermediate_output_ttl=kwargs.get("intermediate_output_ttl"))
elif self.work_api == "jobs":
runnerjob = RunnerJob(self, tool, job_order, kwargs.get("enable_reuse"),
self.output_name,
adjustDirObjs(self.final_output, partial(get_listing, self.fs_access))
adjustFileObjs(self.final_output, partial(compute_checksums, self.fs_access))
- if self.output_ttl and self.final_status == "success":
+ if self.intermediate_output_ttl and self.final_status == "success":
self.trash_intermediate_output()
return (self.final_output, self.final_status)
"priority": 1,
"state": "Committed",
"properties": {},
- "output_ttl", self.arvrunner.output_ttl
+ "output_ttl", self.arvrunner.intermediate_output_ttl
}
runtime_constraints = {}
if self.on_error:
command.append("--on-error=" + self.on_error)
+ if self.intermediate_output_ttl:
+ command.append("--intermediate-output-ttl=%d" % self.intermediate_output_ttl)
+
command.extend([workflowpath, "/var/lib/cwl/cwl.input.json"])
container_req["command"] = command
def __init__(self, runner, tool, job_order, enable_reuse,
output_name, output_tags, submit_runner_ram=0,
- name=None, on_error=None, submit_runner_image=None):
+ name=None, on_error=None, submit_runner_image=None,
+ intermediate_output_ttl=0):
self.arvrunner = runner
self.tool = tool
self.job_order = job_order
self.name = name
self.on_error = on_error
self.jobs_image = submit_runner_image or "arvados/jobs:"+__version__
+ self.intermediate_output_ttl = intermediate_output_ttl
if submit_runner_ram:
self.submit_runner_ram = submit_runner_ram