X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2d7b22fd7d905e4fa44452775d9db6a06a50da8c..f526141fa776df068d011093ccb89f31f52e69be:/apps/workbench/app/views/work_unit/_show_component.html.erb diff --git a/apps/workbench/app/views/work_unit/_show_component.html.erb b/apps/workbench/app/views/work_unit/_show_component.html.erb index cea3395f64..58b8aa861b 100644 --- a/apps/workbench/app/views/work_unit/_show_component.html.erb +++ b/apps/workbench/app/views/work_unit/_show_component.html.erb @@ -1,80 +1,46 @@ <%# Work unit status %> -
- Current state: - <% if wu.state_label == "running" %> - Active - <% else %> - <%= wu.state_label %> +
+ <%# Need additional handling for main object display %> + <% if @object.uuid == wu.uuid %> +
+
+
+
+
+ <% if wu.is_running? and wu.child_summary_str %> + <%= wu.child_summary_str %> + <% end %> +
+
+ <%= render partial: 'work_unit/progress', locals: {wu: wu} %> +
+
+ <% if wu.can_cancel? and @object.editable? %> + <%= form_tag "#{wu.uri}/cancel", remote: true, style: "display:inline; padding-left: 1em" do |f| %> + <%= hidden_field_tag :return_to, url_for(@object) %> + <%= button_tag "Cancel", {class: 'btn btn-xs btn-danger', id: "cancel-obj-button"} %> + <% end %> + <% end %> +
+
+
+
+
<% end %> -   -
-<% if wu.state_label == 'Paused' %> -

- This work unit is paused. Work unit children that are - already running will continue to run, but no new work units will be submitted. -

-<% end %> +
+ <% if wu.is_paused? %> +

+ This <%= wu.title %> is paused. Children that are already running + will continue to run, but no new processes will be submitted. +

+ <% end %> -<% runningtime = determine_wallclock_runtime(wu.children) %> - -

- <% if wu.started_at %> - This work unit started at <%= render_localized_date(wu.started_at) %>. - It - <% if wu.state_label == 'Complete' %> - completed in - <% elsif wu.state_label == 'Failed' %> - failed after - <% else %> - has been active for - <% end %> - - <% walltime = if wu.finished_at then - wu.finished_at - wu.started_at - else - Time.now - wu.started_at - end %> - - <%= if walltime > runningtime - render_runtime(walltime, false) - else - render_runtime(runningtime, false) - end %><% if wu.finished_at %> at <%= render_localized_date(wu.finished_at) %><% end %>. - <% else %> - It is <%= if wu.state_label == 'Running' then 'active' else wu.state.downcase end %>. - <% walltime = 0%> - <% end %> - - <% if wu.state_label == 'Failed' %> - Check the Log tab for more detail about why it failed. - <% end %> -

- -

- It - <% if wu.state_label == 'Running' %> - has run - <% else %> - ran - <% end %> - for - <% - cputime = wu.children.map { |c| - if c.started_at - (c.runtime_constraints.andand[:min_nodes] || 1) * ((c.finished_at || Time.now()) - c.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 - <%= render_runtime(cputime, false) %> - of node allocation time (<%= (cputime/runningtime).round(1) %>⨯ scaling). - <% end %> -

+ <%= raw(wu.show_runtime) %> +
+

<%= render(partial: 'work_unit/component_detail', locals: {current_obj: wu}) %> @@ -83,23 +49,27 @@ <%# Work unit children %> <% - job_uuids = wu.children.collect {|c| c.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 + uuids = wu.children.collect {|c| c.uuid}.compact + if uuids.any? + resource_class = resource_class_for_uuid(uuids.first, friendly_name: true) + preload_objects_for_dataclass resource_class, uuids end - job_collections = wu.children.collect {|j| j.output}.compact - job_collections.concat wu.children.collect {|j| j.docker_image}.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? + collections = wu.children.collect {|j| j.output}.compact + collections.concat wu.children.collect {|j| j.docker_image}.uniq.compact + collections_pdhs = collections.select {|x| !(m = CollectionsHelper.match(x)).nil?}.uniq.compact + collections_uuids = collections - collections_pdhs + preload_collections_for_objects collections_uuids if collections_uuids.any? + preload_for_pdhs collections_pdhs if collections_pdhs.any? %> -<% @descendent_count = 0 if !@descendent_count %> - -<% wu.children.each_with_index do |c, i| %> - <% @descendent_count += 1 %> - <%= render(partial: 'work_unit/show_child', locals: {current_obj: c, i: @descendent_count, expanded: false}) %> +<% if wu.has_unreadable_children %> + <%= render(partial: "pipeline_instances/show_components_json", + locals: {error_name: "Unreadable components", backtrace: nil, wu: wu}) %> +<% else %> + <% @descendent_count = 0 if !@descendent_count %> + <% wu.children.each do |c| %> + <% @descendent_count += 1 %> + <%= render(partial: 'work_unit/show_child', locals: {current_obj: c, i: @descendent_count, expanded: false}) %> + <% end %> <% end %>