X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0662b235357dd40b5d27efd06b60044ddcec06f6..1e803e86b1ba69b9770192a9cf1e66edb125cf1d:/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 6e556d5b75..dd2cc0ab77 100644 --- a/apps/workbench/app/models/pipeline_instance.rb +++ b/apps/workbench/app/models/pipeline_instance.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require "arvados/keep" class PipelineInstance < ArvadosBase @@ -13,7 +17,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 @@ -103,9 +107,10 @@ class PipelineInstance < ArvadosBase def stderr_log_query(limit=nil) query = Log. - where(event_type: "stderr", - object_uuid: stderr_log_object_uuids). - order("id DESC") + with_count('none'). + where(event_type: "stderr", + object_uuid: stderr_log_object_uuids). + order("created_at DESC") unless limit.nil? query = query.limit(limit) end @@ -132,6 +137,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