[ARVADOS] updated: 4bf9e0c663789cbb748e628e8e86a8ea9ab047c5
git at public.curoverse.com
git at public.curoverse.com
Mon Jun 2 14:47:39 EDT 2014
Summary of changes:
apps/workbench/app/controllers/jobs_controller.rb | 5 +++
apps/workbench/app/models/job.rb | 4 ++
.../workbench/app/views/jobs/_show_status.html.erb | 46 ++++++++++++----------
apps/workbench/config/routes.rb | 4 +-
4 files changed, 38 insertions(+), 21 deletions(-)
via 4bf9e0c663789cbb748e628e8e86a8ea9ab047c5 (commit)
from 2c77b59f16d698fa5368c2aa28f5c304c3f7e53b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 4bf9e0c663789cbb748e628e8e86a8ea9ab047c5
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Mon Jun 2 14:47:33 2014 -0400
2882: Added button to cancel a running job.
diff --git a/apps/workbench/app/controllers/jobs_controller.rb b/apps/workbench/app/controllers/jobs_controller.rb
index f693fa6..841d3a9 100644
--- a/apps/workbench/app/controllers/jobs_controller.rb
+++ b/apps/workbench/app/controllers/jobs_controller.rb
@@ -31,6 +31,11 @@ class JobsController < ApplicationController
end
end
+ def cancel
+ @object.cancel
+ redirect_to @object
+ end
+
def show
generate_provenance([@object])
end
diff --git a/apps/workbench/app/models/job.rb b/apps/workbench/app/models/job.rb
index 56428ab..8dd66ed 100644
--- a/apps/workbench/app/models/job.rb
+++ b/apps/workbench/app/models/job.rb
@@ -10,4 +10,8 @@ class Job < ArvadosBase
def self.creatable?
false
end
+
+ def cancel
+ arvados_api_client.api "jobs/#{self.uuid}/", "cancel", {}
+ end
end
diff --git a/apps/workbench/app/views/jobs/_show_status.html.erb b/apps/workbench/app/views/jobs/_show_status.html.erb
index 660aa95..99f2414 100644
--- a/apps/workbench/app/views/jobs/_show_status.html.erb
+++ b/apps/workbench/app/views/jobs/_show_status.html.erb
@@ -1,27 +1,33 @@
<div class="pull-right">
-Re-run job using version:
-<%= form_tag '/jobs', style: "display:inline; padding-left: 1em" do |f| %>
-<% [:script, :script_version, :repository, :output_is_persistent, :supplied_script_version, :nondeterministic].each do |d| %>
- <%= hidden_field :job, d, :value => @object[d] %>
-<% end %>
-<% [:script_parameters, :runtime_constraints].each do |d| %>
- <%= hidden_field :job, d, :value => JSON.dump(@object[d]) %>
-<% end %>
-<%= hidden_field :options, :no_reuse, :value => true %>
-<%= button_tag "Same (#{@object.script_version.slice 0,8}...)", {class: 'btn btn-primary', id: "run-pipeline-button"} %>
-<% end %>
+ <% if @object.running %>
+ <%= form_tag "/jobs/#{@object.uuid}/cancel", style: "display:inline; padding-left: 1em" do |f| %>
+ <%= button_tag "Cancel running job", {class: 'btn btn-danger', id: "cancel-job-button"} %>
+ <% end %>
+ <% else %>
+ Re-run job using version:
+ <%= form_tag '/jobs', style: "display:inline; padding-left: 1em" do |f| %>
+ <% [:script, :script_version, :repository, :output_is_persistent, :supplied_script_version, :nondeterministic].each do |d| %>
+ <%= hidden_field :job, d, :value => @object[d] %>
+ <% end %>
+ <% [:script_parameters, :runtime_constraints].each do |d| %>
+ <%= hidden_field :job, d, :value => JSON.dump(@object[d]) %>
+ <% end %>
+ <%= hidden_field :options, :no_reuse, :value => true %>
+ <%= button_tag "Same (#{@object.script_version.slice 0,8}...)", {class: 'btn btn-primary', id: "re-run-same-job-button"} %>
+ <% end %>
-<%= form_tag '/jobs', style: "display:inline" do |f| %>
-<% [:script, :repository, :output_is_persistent, :supplied_script_version, :nondeterministic].each do |d| %>
- <%= hidden_field :job, d, :value => @object[d] %>
-<% end %>
-<%= hidden_field :job, :script_version, :value => @object[:supplied_script_version] %>
-<% [:script_parameters, :runtime_constraints].each do |d| %>
- <%= hidden_field :job, d, :value => JSON.dump(@object[d]) %>
+ <%= form_tag '/jobs', style: "display:inline" do |f| %>
+ <% [:script, :repository, :output_is_persistent, :supplied_script_version, :nondeterministic].each do |d| %>
+ <%= hidden_field :job, d, :value => @object[d] %>
+ <% end %>
+ <%= hidden_field :job, :script_version, :value => @object[:supplied_script_version] %>
+ <% [:script_parameters, :runtime_constraints].each do |d| %>
+ <%= hidden_field :job, d, :value => JSON.dump(@object[d]) %>
+ <% end %>
+ <%= hidden_field :options, :no_reuse, :value => true %>
+ <%= button_tag "Latest (#{@object.repository}/#{@object.supplied_script_version})", {class: 'btn btn-primary', id: "re-run-latest-job-button"} %>
<% end %>
-<%= hidden_field :options, :no_reuse, :value => true %>
-<%= button_tag "Latest (#{@object.repository}/#{@object.supplied_script_version})", {class: 'btn btn-primary', id: "run-pipeline-button"} %>
<% end %>
</div>
diff --git a/apps/workbench/config/routes.rb b/apps/workbench/config/routes.rb
index b4da656..383d442 100644
--- a/apps/workbench/config/routes.rb
+++ b/apps/workbench/config/routes.rb
@@ -18,7 +18,9 @@ ArvadosWorkbench::Application.routes.draw do
resources :virtual_machines
resources :authorized_keys
resources :job_tasks
- resources :jobs
+ resources :jobs do
+ post 'cancel', :on => :member
+ end
match '/logout' => 'sessions#destroy', via: [:get, :post]
get '/logged_out' => 'sessions#index'
resources :users do
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list