Active pipelines <% if current_user.andand.is_active %> <%= 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 }) do %> Run a pipeline... <% end %> <% end %>
<% _running_pipelines = running_pipelines %> <% _finished_pipelines = finished_pipelines(8) %> <% lookup = preload_objects_for_dataclass PipelineTemplate, (_running_pipelines.map(&:pipeline_template_uuid) + _finished_pipelines.map(&:pipeline_template_uuid)) %>
<% if _running_pipelines.empty? %> No pipelines are currently running. <% else %> <% _running_pipelines.each do |p| %>
<%= link_to_if_arvados_object p, {friendly_name: true, lookup: lookup} %>
<% p.components.each do |k, v| %> <% if v.is_a? Hash and v[:job] %> <%= render partial: 'job_progress', locals: {:j => v[:job], :scaleby => (1.0/p.components.size)} %> <% end %> <% end %>
<% running = p.components.select { |k, c| c.is_a? Hash and c[:job].andand[:state] == "Running" } queued = p.components.select { |k, c| c.is_a? Hash and c[:job].andand[:state] == "Queued" } %>
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,v| %> <%= render partial: 'job_progress', locals: {:j => v[:job], :show_progress_bar => false, :title => k} %> <% end %> <% queued.each do |k,v| %> <%= render partial: 'job_progress', locals: {:j => v[:job], :show_progress_bar => false, :title => k} %> <% end %>
<% end %> <% end %>
Recently finished pipelines <%= link_to pipeline_instances_path, class: 'btn btn-default btn-xs' do %> All pipelines <% end %>
<% _finished_pipelines.each do |p| %>
<%= link_to_if_arvados_object p, {friendly_name: true, lookup: lookup} %>
<%= 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 and job status <%= link_to jobs_path, class: 'btn btn-default btn-xs' do %> All jobs <% end %>
<%= render partial: 'compute_node_summary', locals: {nodes: nodes} %>
<%= render partial: 'compute_node_status', locals: {nodes: nodes} %>
Recent collections <%= link_to collections_path, class: 'btn btn-default btn-xs' do %> All collections <% end %>
<% 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, no_tags: true} %>
<% end %>