Queue Admin
Get Overview
Aggregate health snapshot of Horizon supervisors, queues, and per-tenant backlogs.
List Pending Jobs
Paginated pending+delayed jobs across all Horizon queues, filtered in-memory. The list is sorted newest-first (pushed_at desc) by default; pass `sort` to override.
Get Pending Class Breakdown
Returns a class breakdown for pending+delayed jobs across all Horizon queues, grouped by FQCN. The same filter set as List Pending Jobs applies (the `class` filter is intentionally ignored here — you would otherwise be filtering the breakdown by exactly one class).
List Completed Jobs
Paginated completed jobs from Horizon's `completed_jobs` index, filtered in-memory. The list is sorted newest-first (completed_at desc) by default; pass `sort` to override.
Get Completed Class Breakdown
Returns a class breakdown of completed jobs grouped by FQCN, including per-class count, average runtime, total runtime, and last-completed-at timestamp.
Get Job Payload
Full decoded payload for one pending/reserved job. Secrets are redacted (`[REDACTED]`) per `config('queue-admin.redact-payload-keys')` — by default: password, token, api_key, secret, access_token, refresh_token, client_secret, authorization.
Bulk Kill Pending Jobs
Bulk-kill pending Horizon jobs. Two mutually-exclusive shapes are accepted:
Cancel Running Job
Set the co-operative cancel flag for a currently running (reserved) job.
List Paused Classes
List active pause-class registry entries.
Pause Class
Add an identifier to the pause registry.
Unpause Class
Remove a pause registry entry by id. Mirrors the deletion into the Redis pause set so workers resume picking up matching jobs immediately.
List Failed Jobs
Paginated failed-job index from Horizon's `JobRepository::getFailed()`, sorted newest-first by default; pass `sort` to override.
Get Failed Class Breakdown
Returns a class breakdown for failed jobs, grouped by FQCN. Same filter set as List Failed Jobs except the `class` filter is intentionally ignored (it would collapse the breakdown to a single bucket).
Get Failed Job Detail
Full failed-job detail: full exception (stack trace), decoded payload with secrets redacted, and the same metadata as the list row so the slide-over component can render either shape with one Resource.
Bulk Retry Failed Jobs
Bulk-retry failed jobs by id. For each id we rebuild the retry payload (same logic as Horizon's own `RetryFailedJob::preparePayload()`) and `pushRaw()` it back onto the original connection + queue. The original failed entry is left in the index; Horizon links the retry to it via `storeRetryReference`.
Bulk Delete Failed Jobs
Bulk-delete failed jobs from Horizon's failed-job index by id (max 10000).
Retry Failed With Modified Args
Push a fresh copy of a failed job with the `data` payload section overridden. Useful for one-off fixes (e.g., the integration credential changed and you want to retry an existing failed job against the new creds).
Reset Metrics
DESTRUCTIVE — wipes Horizon's failed-job index plus the recent-job, monitored-job, and metric snapshots.
Get Job Runtime Metrics
Per-class Horizon job duration metrics. Returns the top-N slowest classes (by average runtime in milliseconds) and a full per-class breakdown that the UI can sort client-side.
Drain & Restart Supervisor
Mark a Horizon supervisor as draining and signal Horizon to terminate. The actual restart is left to the supervisord/deploy layer (which restarts crashed Horizon processes anyway).
Get Drain Status
Poll the drain progress for a supervisor. Returns reserved-job counts across the supervisor's queues plus the drain marker (if still active).
List Audit Actions
Paginated Queue Admin audit trail. Every destructive endpoint (kill, cancel, pause, retry, delete, reset, drain) writes a row to `queue_admin_actions` with the operator, the action type, a one-line summary, the full payload, and (where applicable) the targeted tenant.