+
+ def job(self, joborder, output_callback, **kwargs):
+
+ # Workaround for #13365
+ builderargs = kwargs.copy()
+ builderargs["toplevel"] = True
+ builder = self._init_job(joborder, **builderargs)
+ joborder = builder.job
+
+ if self.work_api == "containers":
+ dockerReq, is_req = self.get_requirement("DockerRequirement")
+ if dockerReq and dockerReq.get("dockerOutputDirectory"):
+ kwargs["outdir"] = dockerReq.get("dockerOutputDirectory")
+ kwargs["docker_outdir"] = dockerReq.get("dockerOutputDirectory")
+ else:
+ kwargs["outdir"] = "/var/spool/cwl"
+ kwargs["docker_outdir"] = "/var/spool/cwl"
+ elif self.work_api == "jobs":
+ kwargs["outdir"] = "$(task.outdir)"
+ kwargs["docker_outdir"] = "$(task.outdir)"
+ kwargs["tmpdir"] = "$(task.tmpdir)"
+ kwargs["docker_tmpdir"] = "$(task.tmpdir)"
+ return super(ArvadosCommandTool, self).job(joborder, output_callback, **kwargs)