X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/040fdf6da00318b5b8e8e83eceeec783680ecb1c..21598295f38998d8028aaa117f192de6b5758808:/apps/workbench/app/models/pipeline_instance.rb diff --git a/apps/workbench/app/models/pipeline_instance.rb b/apps/workbench/app/models/pipeline_instance.rb index 03d70b2897..b6e0ef17ae 100644 --- a/apps/workbench/app/models/pipeline_instance.rb +++ b/apps/workbench/app/models/pipeline_instance.rb @@ -13,7 +13,7 @@ class PipelineInstance < ArvadosBase template = if lookup and lookup[self.pipeline_template_uuid] lookup[self.pipeline_template_uuid] else - PipelineTemplate.where(uuid: self.pipeline_template_uuid).first + PipelineTemplate.find?(self.pipeline_template_uuid) if self.pipeline_template_uuid end if template template.name @@ -92,6 +92,10 @@ class PipelineInstance < ArvadosBase components_map { |cspec| cspec[:job][:log] rescue nil } end + def job_ids + components_map { |cspec| cspec[:job][:uuid] rescue nil } + end + def stderr_log_object_uuids result = job_uuids.values.compact result << uuid @@ -128,6 +132,14 @@ class PipelineInstance < ArvadosBase end end + def work_unit(label=nil) + PipelineInstanceWorkUnit.new(self, label || self.name, self.uuid) + end + + def cancel + arvados_api_client.api "pipeline_instances/#{self.uuid}/", "cancel", {"cascade" => true} + end + private def components_map