Class: Pgbus::MCP::Tools::JobsTool
- Defined in:
- lib/pgbus/mcp/tools/jobs_tool.rb
Overview
Paginated list of enqueued jobs/messages for a queue (or across all non-DLQ queues). Returns metadata — msg_id, read_ct, vt, enqueued_at, queue_name — with message bodies and headers redacted unless payloads are explicitly allowed. Maps to DataSource#jobs.
Constant Summary collapse
- MAX_PER_PAGE =
100- MAX_PAGE =
1_000
Class Method Summary collapse
Methods inherited from BaseTool
annotations_value, data_source_from, error_response, json_response, payloads_allowed?
Class Method Details
.call(queue: nil, page: 1, per_page: 25, include_payloads: false, server_context: nil) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/pgbus/mcp/tools/jobs_tool.rb', line 41 def self.call(queue: nil, page: 1, per_page: 25, include_payloads: false, server_context: nil) data_source = data_source_from(server_context) per_page = per_page.to_i.clamp(1, MAX_PER_PAGE) page = page.to_i.clamp(1, MAX_PAGE) rows = data_source.jobs(queue_name: queue, page: page, per_page: per_page) json_response( { queue: queue, page: page, per_page: per_page, jobs: rows }, server_context: server_context, include_payloads: include_payloads ) end |