<%# column offset 0 %>
<%# column offset 3 %>
<%= pj[:progress_bar] %>
<% if current_job %>
<%# column offset 5 %>
<% if current_job[:state] != "Queued" %>
<% if current_job[:started_at] %>
<% walltime = ((if current_job[:finished_at] then current_job[:finished_at] else Time.now() end) - current_job[:started_at]) %>
<% cputime = tasks.map { |task|
if task.started_at and task.job_uuid == current_job[:uuid]
(if task.finished_at then task.finished_at else Time.now() end) - task.started_at
else
0
end
}.reduce(:+) || 0 %>
<%= render_runtime(walltime, false, false) %>
<% if cputime > 0 %> / <%= render_runtime(cputime, false, false) %> (<%= (cputime/walltime).round(1) %>⨯)<% end %>
<% end %>
<% end %>
<% if current_job[:state] == "Queued" %>
<%# column offset 5 %>
<% queuetime = Time.now - current_job[:created_at] %>
Queued for <%= render_runtime(queuetime, true) %>.
<% begin %>
<% if current_job[:queue_position] == 0 %>
This job is next in the queue to run.
<% elsif current_job[:queue_position] == 1 %>
There is 1 job in the queue ahead of this one.
<% elsif current_job[:queue_position] %>
There are <%= current_job[:queue_position] %> jobs in the queue ahead of this one.
<% end %>
<% rescue %>
<% end %>
<% elsif current_job[:state] == "Running" %>
<%# column offset 8 %>
<%= current_job[:tasks_summary][:done] %> <%= "task".pluralize(current_job[:tasks_summary][:done]) %> done,
<%= current_job[:tasks_summary][:failed] %> failed,
<%= current_job[:tasks_summary][:running] %> running,
<%= current_job[:tasks_summary][:todo] %> pending
<% elsif current_job[:state].in? ["Complete", "Failed", "Cancelled"] %>
<%# column offset 8 %>
<% if pj[:output_uuid] %>
<%= link_to_if_arvados_object pj[:output_uuid], friendly_name: true %>
<% elsif current_job[:output] %>
<%= link_to_if_arvados_object current_job[:output], link_text: "Output of #{pj[:name]}" %>
<% else %>
No output.
<% end %>
<% end %>
<% if current_job[:state].in? ["Queued", "Running"] and @object.editable? %>
<%# column offset 11 %>
<%= form_tag "/jobs/#{current_job[:uuid]}/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-job-button"} %>
<% end %>
<% end %>
<% end %>