X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/58b6e6889cf9f9b108fe4a6ba7a100713bedbab9..029656d8b2646bae51de03426a6496cbce0cc9d7:/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 55e2d735c4..b157de42fc 100644 --- a/services/api/app/controllers/arvados/v1/jobs_controller.rb +++ b/services/api/app/controllers/arvados/v1/jobs_controller.rb @@ -2,8 +2,8 @@ class Arvados::V1::JobsController < ApplicationController accept_attribute_as_json :script_parameters, Hash accept_attribute_as_json :runtime_constraints, Hash accept_attribute_as_json :tasks_summary, Hash - skip_before_filter :find_object_by_uuid, :only => :queue - skip_before_filter :render_404_if_no_object, :only => :queue + skip_before_filter :find_object_by_uuid, :only => [:queue, :queue_size] + skip_before_filter :render_404_if_no_object, :only => [:queue, :queue_size] def create [:repository, :script, :script_version, :script_parameters].each do |r| @@ -151,17 +151,19 @@ 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 + # 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 (super rescue {}). merge({