Active pipelines <%= link_to( choose_pipeline_templates_path( title: 'Choose a pipeline to run:', action_name: 'Next: choose inputs ', action_href: pipeline_instances_path, action_method: 'post', action_data: {'selection_param' => 'pipeline_instance[pipeline_template_uuid]', 'pipeline_instance[owner_uuid]' => current_user.uuid, 'success' => 'redirect-to-created-object'}.to_json), { class: "btn btn-primary btn-xs", remote: true, method: 'get' }) do %> Run a pipeline... <% end %>
<% if running_pipelines.empty? %> No pipelines are currently running. <% end %> <% running_pipelines.each do |p| %>
<%= link_to_if_arvados_object p, friendly_name: true %>
<% running = [] %> <% failed = [] %> <% completed = [] %> <% queued = [] %> <% p.components.each do |k, v| %> <% if v.is_a? Hash and v[:job] %> <% if v[:job][:state] == "Running" %> <% running << k %> <% elsif v[:job][:state] == "Failed" or v[:job][:state] == "Cancelled" %> <% failed << k %> <% elsif v[:job][:state] == "Complete" %> <% completed << k %> <% elsif v[:job][:state] == "Queued" %> <% queued << k %> <% end %> <% end %> <% end %> <% completed_pct = (completed.size * 100) / p.components.size %> <% failed_pct = (failed.size * 100) / p.components.size %> <% running_pct = (running.size * 100) / p.components.size %> <% queued_pct = (queued.size * 100) / p.components.size %>
Started at <%= render_localized_date(p[:started_at] || p[:created_at], "noseconds") %>. <% pipeline_time = Time.now - (p[:started_at] || p[:created_at]) %> Active for <%= render_runtime(pipeline_time, false) %>.
<% running.each do |k| %> <%= k %> <% end %> <% queued.each do |k| %> <%= k %> <% end %>
<% end %>
Recently finished pipelines
<% finished_pipelines(8).each do |p| %>
<%= link_to_if_arvados_object p, friendly_name: true %>
<%= render partial: "pipeline_status_label", locals: {p: p}%>
<%= render_localized_date(p[:finished_at] || p[:modified_at], "noseconds") %>
<% if p[:started_at] and p[:finished_at] %> <% pipeline_time = p[:finished_at] - p[:started_at] %> Active for <%= render_runtime(pipeline_time, false) %> <% end %> <% outputs = [] %> <% p.components.each do |k, c| %> <% outputs << c[:output_uuid] if c[:output_uuid] %> <% end %> <% if outputs.size == 0 %> No output. <% elsif outputs.size == 1 %> <%= link_to_if_arvados_object outputs[0], friendly_name: true %> <% else %> Outputs <% end %>
<% outputs.each do |out| %>
<%= link_to_if_arvados_object out, friendly_name: true %>
<% end %>
<% end %>
<% nodes = Node.all %>
Compute status
<%= render partial: 'compute_node_summary', locals: {nodes: nodes} %>
<%= render partial: 'compute_node_status', locals: {nodes: nodes} %>
Recent collections
<% r = recent_collections(8) %> <% r[:collections].each do |p| %>
<%= link_to_if_arvados_object r[:owners][p[:owner_uuid]], friendly_name: true %>/ <%= render_localized_date(p[:modified_at], "noseconds") %>
<%= link_to_if_arvados_object p, friendly_name: true %>
<% end %>