X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f3658ececac430166ee9766be1deee6a61153d0f..068e72307f9ce91538e45cb461b99cf92d2f5666:/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 f54b9f0c00..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,8 +137,12 @@ class PipelineInstance < ArvadosBase end end - def work_unit label - PipelineInstanceWorkUnit.new(self, label || self.name) + 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