X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/eec77d22e408fe3983cba666c6f5185ecf2d15ec..7538d084fa8778289053f62a6fb8d3ea04868258:/apps/workbench/app/views/pipeline_instances/_show_components_running.html.erb 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 c3c6d0a2a3..6fa409a1ce 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,18 @@ <%# Summary %> +
+ Current state: + <% if @object.state == "RunningOnServer" %> + Active + <% else %> + <%= @object.state %> + <% end %> +   +
+ +<% pipeline_jobs = render_pipeline_jobs %> +<% job_uuids = pipeline_jobs.map { |j| j[:job].andand[:uuid] }.compact %> + <% if @object.state == 'Paused' %>

This pipeline is paused. Jobs that are @@ -7,13 +20,13 @@

<% end %> -<% 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]}) %> +<% tasks = JobTask.filter([['job_uuid', 'in', job_uuids]]).results %> +<% runningtime = determine_wallclock_runtime(pipeline_jobs.map {|j| j[:job]}.compact) %>

<% if @object.started_at %> This pipeline started at <%= render_localized_date(@object.started_at) %>. - It + It <% if @object.state == 'Complete' %> completed in <% elsif @object.state == 'Failed' %> @@ -27,11 +40,11 @@ else Time.now - @object.started_at end %> - - <%= if walltime > runningtime - render_runtime(walltime, true) - else - render_runtime(runningtime, true) + + <%= if walltime > runningtime + render_runtime(walltime, true, false) + else + render_runtime(runningtime, true, 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 %>. @@ -58,16 +71,31 @@ 0 end }.reduce(:+) || 0 %> - <%= render_runtime(runningtime, true, false) %><% if walltime - runningtime > 0 %> - (<%= render_runtime(walltime - runningtime, true) %> queued)<% end %><% if cputime == 0 %>.<% else %> + <%= render_runtime(runningtime, true, false) %><% if (walltime - runningtime) > 0 %> + (<%= render_runtime(walltime - runningtime, true, false) %> queued)<% end %><% if cputime == 0 %>.<% else %> and used - <%= render_runtime(cputime, true) %> + <%= render_runtime(cputime, true, false) %> of CPU time (<%= (cputime/runningtime).round(1) %>⨯ scaling). <% end %>

<%# Components %> -<% render_pipeline_jobs.each_with_index do |pj, i| %> +<% + job_uuids = pipeline_jobs.collect {|j| j[:job][:uuid]}.compact + if job_uuids.any? + resource_class = resource_class_for_uuid(job_uuids.first, friendly_name: true) + preload_objects_for_dataclass resource_class, job_uuids + end + + job_collections = pipeline_jobs.collect {|j| j[:job][:output]}.compact + job_collections.concat pipeline_jobs.collect {|j| j[:job][:docker_image_locator]}.uniq.compact + job_collections_pdhs = job_collections.select {|x| !(m = CollectionsHelper.match(x)).nil?}.uniq.compact + job_collections_uuids = job_collections - job_collections_pdhs + preload_collections_for_objects job_collections_uuids if job_collections_uuids.any? + preload_for_pdhs job_collections_pdhs if job_collections_pdhs.any? +%> + +<% pipeline_jobs.each_with_index do |pj, i| %> <%= render partial: 'running_component', locals: {tasks: tasks, pj: pj, i: i, expanded: false} %> <% end %>