Class: Resque::Mcp::Tools::QueueStats
- Defined in:
- lib/resque/mcp/tools/queue_stats.rb
Constant Summary
Constants inherited from Base
Base::ARGS_FULL_MAX, Base::ARGS_PREVIEW_MAX, Base::BACKTRACE_MAX_FRAMES, Base::ERROR_TRUNCATE_MAX, Base::LIMIT_MAX
Class Method Summary collapse
Class Method Details
.call(server_context:, queue: nil, include_jobs: false, offset: 0, limit: 20) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/resque/mcp/tools/queue_stats.rb', line 21 def self.call(server_context:, queue: nil, include_jobs: false, offset: 0, limit: 20, **) if queue.nil? return error_response("include_jobs requires queue") if include_jobs return success_response({queues: adapter(server_context).queues}, server_context) end unless include_jobs size = adapter(server_context).queue_size(queue) return success_response({queue: queue, size: size}, server_context) end clamped = clamp_limit(limit) result = adapter(server_context).peek(queue, offset: offset, limit: clamped) jobs = result[:jobs].map do |job| {class: job.class_name, args_preview: args_preview(job)} end success_response({ queue: queue, size: result[:size], jobs: jobs, page: page_envelope( total: result[:size], offset: offset, limit: clamped, returned: jobs.size, requested_limit: limit ) }, server_context) rescue Adapter::UnknownQueueError => e error_response(e.) end |