X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5a3b04f7177afe202ab4f8776b5ca2567b4fdabe..1ab33aed37fdcd448fe224375951089282901c48:/apps/workbench/app/views/pipeline_instances/_show_components_running.html.erb?ds=inline diff --git a/apps/workbench/app/views/pipeline_instances/_show_components_running.html.erb b/apps/workbench/app/views/pipeline_instances/_show_components_running.html.erb index 18ae9b08cf..60d4c2abc2 100644 --- a/apps/workbench/app/views/pipeline_instances/_show_components_running.html.erb +++ b/apps/workbench/app/views/pipeline_instances/_show_components_running.html.erb @@ -1,5 +1,22 @@ +<%# Copyright (C) The Arvados Authors. All rights reserved. + +SPDX-License-Identifier: AGPL-3.0 %> + <%# Summary %> +
This pipeline is paused. Jobs that are @@ -7,31 +24,37 @@
<% end %> +<% runningtime = determine_wallclock_runtime(pipeline_jobs.map {|j| j[:job]}.compact) %> +<% if @object.started_at %> - Started at <%= @object.started_at %>. - <% end %> + This pipeline started at <%= render_localized_date(@object.started_at) %>. + It + <% if @object.state == 'Complete' %> + completed in + <% elsif @object.state == 'Failed' %> + failed after + <% elsif @object.state == 'Cancelled' %> + was cancelled after + <% else %> + has been active for + <% end %> - <% if @object.state == 'Complete' %> - Completed in - <% elsif @object.state == 'Failed' %> - Failed after - <% else %> - Has been active for - <% end %> + <% walltime = if @object.finished_at then + @object.finished_at - @object.started_at + else + Time.now - @object.started_at + end %> - <% walltime = if @object.started_at - if @object.finished_at - @object.finished_at - @object.started_at + <%= if walltime > runningtime + render_runtime(walltime, false) else - Time.now - @object.started_at - end - else - 0 - end - %> - - <%= runtime(walltime, true) %><% if @object.finished_at %> at <%= @object.finished_at %><% end %>. + render_runtime(runningtime, false) + end %><% if @object.finished_at %> at <%= render_localized_date(@object.finished_at) %><% end %>. + <% else %> + This pipeline is <%= if @object.state.start_with? 'Running' then 'active' else @object.state.downcase end %>. + <% walltime = 0%> + <% end %> <% if @object.state == 'Failed' %> Check the Log tab for more detail about why this pipeline failed. @@ -39,201 +62,46 @@
- <% tasks = JobTask.filter([['job_uuid', 'in', render_pipeline_jobs.map { |j| j[:job].andand[:uuid] }]]).results %> - <% runningtime = determine_wallclock_runtime(render_pipeline_jobs.map {|j| j[:job]}) %> - + This pipeline <% if @object.state.start_with? 'Running' %> - Has run - <% else %> - Ran + has run + <% else %> + ran <% end %> for - <%= runtime(runningtime, true) %> (<%= runtime(walltime - runningtime, true) %> queued)<% if tasks.size == 0 %>.<% else %> + <% + cputime = pipeline_jobs.map { |j| + if j[:job][:started_at] + (j[:job][:runtime_constraints].andand[:min_nodes] || 1).to_i * ((j[:job][:finished_at] || Time.now()) - j[:job][:started_at]) + else + 0 + end + }.reduce(:+) || 0 %> + <%= render_runtime(runningtime, false) %><% if (walltime - runningtime) > 0 %> + (<%= render_runtime(walltime - runningtime, false) %> queued)<% end %><% if cputime == 0 %>.<% else %> and used - <% cputime = tasks.map { |task| - puts "started at #{task.started_at}" - if task.started_at - (if task.finished_at then task.finished_at else Time.now() end) - task.started_at - else - 0 - end - }.reduce(:+) %> - <%= runtime(cputime, true) %> - of CPU time (<%= (cputime/runningtime).round(1) %>⨯ scaling). + <%= render_runtime(cputime, false) %> + of node allocation time (<%= (cputime/runningtime).round(1) %>⨯ scaling). <% end %>
<%# Components %> -<% render_pipeline_jobs.each_index do |i| %> - <% pj = render_pipeline_jobs[i] %> - <% current_job = pj[:job] if pj[:job] != {} %> -- <%= k.to_s %>: - | -- <%= current_component[k] %> - | -
- docker_image: - | -- <%= current_component[:runtime_constraints][:docker_image] %> - | -
- docker_image_locator: - | -- <%= link_to_if_arvados_object current_component[:docker_image_locator] %> - | -
- docker_image: - | -- Not run in Docker - | -
- <%= k.to_s %>: - | -- <% if k.to_s.end_with? 'uuid' %> - <%= link_to_if_arvados_object current_component[k], friendly_name: true %> - <% elsif k.to_s.end_with? '_at' %> - <%= current_component[k] %> - <% else %> - <%= current_component[k] %> - <% end %> - | -
script_parameters:
-<%= JSON.pretty_generate(current_component[:script_parameters]) rescue nil %>-
<%= 'tasks:' if d == :done %> | -<%= d.to_s %> | -<%= current_component[:tasks_summary][d] %> | -