X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5a3b04f7177afe202ab4f8776b5ca2567b4fdabe..38738bf78bac4a083195cfd44124332abcce6400:/services/api/app/controllers/arvados/v1/jobs_controller.rb diff --git a/services/api/app/controllers/arvados/v1/jobs_controller.rb b/services/api/app/controllers/arvados/v1/jobs_controller.rb index 5a571d4a8b..e2bef88548 100644 --- a/services/api/app/controllers/arvados/v1/jobs_controller.rb +++ b/services/api/app/controllers/arvados/v1/jobs_controller.rb @@ -65,9 +65,9 @@ class Arvados::V1::JobsController < ApplicationController incomplete_job = nil @objects.each do |j| if j.nondeterministic != true and - ((j.success == true and j.output != nil) or j.running == true) and + ["Queued", "Running", "Complete"].include?(j.state) and j.script_parameters == resource_attrs[:script_parameters] - if j.running && j.owner_uuid == current_user.uuid + if j.state != "Complete" && j.owner_uuid == current_user.uuid # We'll use this if we don't find a job that has completed incomplete_job ||= j else @@ -96,7 +96,12 @@ class Arvados::V1::JobsController < ApplicationController def cancel reload_object_before_update - @object.update_attributes! cancelled_at: Time.now + @object.update_attributes! state: Job::Cancelled + show + end + + def lock + @object.lock current_user.uuid show end @@ -151,19 +156,17 @@ class Arvados::V1::JobsController < ApplicationController params[:order] ||= ['priority desc', 'created_at'] load_limit_offset_order_params load_where_param - @where.merge!({ - started_at: nil, - is_locked_by_uuid: nil, - cancelled_at: nil, - success: nil - }) + @where.merge!({state: Job::Queued}) return if false.equal?(load_filters_param) find_objects_for_index index end def queue_size - render :json => {:queue_size => Job.queue.size} + # Users may not be allowed to see all the jobs in the queue, so provide a + # method to get just the queue size in order to get a gist of how busy the + # cluster is. + render :json => {:queue_size => Job.queue.size} end def self._create_requires_parameters