Job Lifecycle and Debugging
Inspect, filter, retry, remove, invoke, and create jobs with logs and stacktrace analysis.
Job List
Queue jobs route context:
/$orgSlug/c/$connectionId/queues/$queueName
Job listing supports:
- status filter
- job name filter
- pagination (
page,pageSize)
API route:
GET /api/c/:connectionId/queues/:queueName/jobs
Job Detail
Job detail route:
/$orgSlug/c/$connectionId/queues/$queueName/jobs/$jobId
Shows:
- job data payload
- options and retry metadata
- progress/attempt counters
- return value
- failure reason
- timestamps
API route:
GET /api/c/:connectionId/queues/:queueName/jobs/:jobId
Logs and Stacktraces
Logs are paginated via BullMQ log API:
GET /api/c/:connectionId/queues/:queueName/jobs/:jobId/logsDELETE /api/c/:connectionId/queues/:queueName/jobs/:jobId/logsclears all logs for the job (permanent Redis deletion)
Stacktraces are served paginated (application-level slicing):
GET /api/c/:connectionId/queues/:queueName/jobs/:jobId/stacktraces
Important detail:
- BullMQ stores stacktraces in the job hash as an array.
- Pagination reduces transfer cost but still starts from full job retrieval.
Bulk and Single-Job Actions
Supported actions:
- Retry failed jobs
POST /jobs/retry
- Remove jobs
POST /jobs/remove
- Invoke delayed jobs now (optional data override)
POST /jobs/invoke
- Add new job
POST /jobs
Request safety limits:
- Bulk endpoints cap
jobIdsarrays at 100 per request.
Scheduled/Repeat Job Removal Nuance
For repeat/scheduled jobs (jobId starts with repeat:):
- removing the job may require removing its scheduler
- UI/API support a "remove scheduler too" behavior to stop future runs
Screenshot placeholder: job detail view with tabs for data/logs/stacktraces.
Video placeholder: failed job triage from queue list to retry/remove decision.