<% if current_user.andand.is_active %>
<div>
<strong>Recent jobs</strong>
+ <%= link_to '(refresh)', request.fullpath, class: 'refresh', remote: true, method: 'get' %>
<%= link_to raw("Show all jobs →"), jobs_path, class: 'pull-right' %>
<% if not current_user.andand.is_active or @my_jobs.empty? %>
<p>(None)</p>
<% else %>
<table class="table table-bordered table-condensed table-fixedlayout">
- <colgroup>
- <col width="28%" />
- <col width="38%" />
- <col width="7%" />
- <col width="15%" />
- <col width="12%" />
- </colgroup>
+ <colgroup>
+ <col width="20%" />
+ <col width="20%" />
+ <col width="20%" />
+ <col width="13%" />
+ <col width="27%" />
+ </colgroup>
<tr>
<th>Script</th>
<a href="<%= collection_path(j.log) %>/<%= file[1] %>?disposition=inline&size=<%= file[2] %>">Log</a>
<% end %>
<% end %>
+ <% elsif j.respond_to? :log_buffer and j.log_buffer %>
+ <% buf = j.log_buffer.strip.split("\n").last %>
+ <span title="<%= buf %>"><%= buf %></span>
<% end %>
</small>
</td>
<span class="label label-success">finished</span>
<% elsif j.success == false %>
<span class="label label-danger">failed</span>
- <% elsif j.running and j.started_at and not j.finished_at %>
- <% percent_total_tasks = 100 / (j.tasks_summary[:running] + j.tasks_summary[:done] + j.tasks_summary[:todo]) rescue 0 %>
- <div class="progress" style="margin-bottom: 0">
- <div class="bar bar-success" style="width: <%= j.tasks_summary[:done] * percent_total_tasks rescue 0 %>%;"></div>
- <div class="bar" style="width: <%= j.tasks_summary[:running] * percent_total_tasks rescue 0 %>%; opacity: 0.3"></div>
- </div>
+ <% elsif j.finished_at %>
+ <span class="label">finished?</span>
+ <% elsif j.started_at %>
+ <span class="label label-success">running</span>
<% else %>
<span class="label">queued</span>
<% end %>
+ <% percent_total_tasks = 100 / (j.tasks_summary[:running] + j.tasks_summary[:done] + j.tasks_summary[:todo]) rescue 0 %>
+ <div class="inline-progress-container pull-right">
+ <div class="progress">
+ <span class="progress-bar progress-bar-success" style="width: <%= j.tasks_summary[:done] * percent_total_tasks rescue 0 %>%;">
+ </span>
+ <span class="progress-bar" style="width: <%= j.tasks_summary[:running] * percent_total_tasks rescue 0 %>%;">
+ </span>
+ <% if j.success == false %>
+ <span class="progress-bar progress-bar-danger" style="width: <%= tasks_summary[:failed] * percent_total_tasks rescue 0 %>%;">
+ </span>
+ <% end %>
+ </div>
+ </div>
</td>
</tr>
<div>
<strong>Recent pipeline instances</strong>
+ <%= link_to '(refresh)', request.fullpath, class: 'refresh', remote: true, method: 'get' %>
<%= link_to raw("Show all pipeline instances →"), pipeline_instances_path, class: 'pull-right' %>
<% if not current_user.andand.is_active or @my_pipelines.empty? %>
<p>(None)</p>
<% else %>
<table class="table table-bordered table-condensed table-fixedlayout">
<colgroup>
- <col width="73%" />
- <col width="15%" />
- <col width="12%" />
+ <col width="30%" />
+ <col width="30%" />
+ <col width="13%" />
+ <col width="27%" />
</colgroup>
<tr>
- <th>Pipeline template</th>
+ <th>Instance</th>
+ <th>Template</th>
<th>Age</th>
<th>Status</th>
</tr>
<tr>
<td>
<small>
- <% PipelineTemplate.limit(1).where(uuid: p.pipeline_template_uuid).each do |i| %>
- <%= link_to i.name, pipeline_instance_path(p.uuid) %>
- <% end %>
+ <%= link_to_if_arvados_object p.uuid, friendly_name: true %>
+ </small>
+ </td>
+
+ <td>
+ <small>
+ <%= link_to_if_arvados_object p.pipeline_template_uuid, friendly_name: true %>
</small>
</td>
<span class="label label-success">finished</span>
<% elsif p.success == false %>
<span class="label label-danger">failed</span>
+ <% elsif p.active and p.modified_at < 30.minutes.ago %>
+ <span class="label label-info">stopped</span>
<% elsif p.active %>
<span class="label label-info">running</span>
<% else %>
<span class="label">queued</span>
<% end %>
+
+ <% summary = pipeline_summary p %>
+ <div class="inline-progress-container pull-right">
+ <div class="progress">
+ <span class="progress-bar progress-bar-success" style="width: <%= summary[:percent_done] %>%;">
+ </span>
+ <% if p.success == false %>
+ <span class="progress-bar progress-bar-danger" style="width: <%= 100.0 - summary[:percent_done] %>%;">
+ </span>
+ <% else %>
+ <span class="progress-bar" style="width: <%= summary[:percent_running] %>%;">
+ </span>
+ <span class="progress-bar progress-bar-info" style="width: <%= summary[:percent_queued] %>%;">
+ </span>
+ <span class="progress-bar progress-bar-danger" style="width: <%= summary[:percent_failed] %>%;">
+ </span>
+ <% end %>
+ </div>
+ </div>
</td>
</tr>
<div>
<strong>Recent collections</strong>
+ <%= link_to '(refresh)', request.fullpath, class: 'refresh', remote: true, method: 'get' %>
<%= link_to raw("Show all collections →"), collections_path, class: 'pull-right' %>
- <div class="pull-right" style="padding-right: 1em">
+ <div class="pull-right" style="padding-right: 1em; width: 30%;">
<%= form_tag collections_path,
method: 'get',
class: 'form-search small-form-margin' do %>
- <div class="input-append">
- <%= text_field_tag :search, params[:search], class: 'search-query search-mini' %>
- <%= submit_tag "Search", name: nil, class: 'btn btn-mini btn-info' %>
+ <div class="input-group input-group-sm">
+ <%= text_field_tag :search, params[:search], class: 'form-control', placeholder: 'Search' %>
+ <span class="input-group-btn">
+ <%= button_tag(class: 'btn btn-info') do %>
+ <span class="glyphicon glyphicon-search"></span>
+ <% end %>
+ </span>
</div>
<% end %>
</div>
<% else %>
<%= image_tag "dax.png", style: "max-width=40%" %>
<% end %>
+
+<% content_for :js do %>
+setInterval(function(){$('a.refresh:eq(0)').click()}, 60000);
+<% end %>