Job Browser
The job browser displays jobs in a table with filtering and sorting options.Job Information
| Column | Description |
|---|---|
| ID | Unique job identifier |
| Name | Job type/name |
| Queue | Which queue the job belongs to |
| Status | Current job state |
| Created | When the job was added to the queue |
| Processed | When the job started processing |
| Finished | When the job completed or failed |
| Progress | Job progress percentage (if reported) |
Filtering Jobs
By Status
Filter jobs by their current state using the status tabs:| Status | Description |
|---|---|
| All | Show all jobs |
| Waiting | Jobs ready to be processed |
| Active | Jobs currently being processed |
| Completed | Successfully finished jobs |
| Failed | Jobs that threw errors |
| Delayed | Jobs scheduled for later |
By Queue
Use the queue dropdown to filter jobs from a specific queue:- All Queues: Show jobs from all queues
- Specific Queue: Show jobs from selected queue only
By Name
Search for jobs by name/type:- Enter the job name in the search field
- Results filter in real-time
Sorting
Sort jobs by different criteria:| Sort Option | Description |
|---|---|
| Timestamp | When the job was created (default) |
| Processed On | When processing started |
| Finished On | When the job completed |
| Progress | Job progress percentage |
Job Details
Click on any job to view its full details.Job Metadata
Key information about the job:- Job ID: Unique identifier
- Queue: Parent queue name
- Status: Current state with visual badge
- Attempts: Number of processing attempts
- Max Attempts: Configured retry limit
Job Data
View the complete job payload as formatted JSON:Job data is displayed in a collapsible JSON viewer for easy navigation of nested objects.
Job Timeline
See the complete lifecycle of the job:| Event | Description |
|---|---|
| Created | Job added to queue |
| Waiting | Job in waiting state |
| Delayed | Job in delayed state (if applicable) |
| Active | Processing started |
| Progress | Progress updates (if reported) |
| Completed | Successfully finished |
| Failed | Error occurred |
Stack Trace (Failed Jobs)
For failed jobs, view the complete error information:- Error message
- Stack trace
- Attempt number when failed
Job Actions
Retry Job
Retry a failed job to process it again:
When to retry:
- Transient errors (network timeouts, service unavailable)
- After fixing a bug in the worker code
- After resolving external service issues
Remove Job
Permanently delete a job from the queue:
When to remove:
- Test jobs that shouldn’t be processed
- Duplicate jobs
- Jobs with invalid data that will never succeed
Bulk Operations
For managing multiple jobs, consider using:- Status filters to view groups of jobs
- The BullMQ API directly for bulk operations
- Queue-level operations (pause/resume) for broader control
Pagination
Jobs are paginated for performance:- Default: 100 jobs per page
- Navigate between pages with pagination controls
- Total count shown for filtered results
Access Modes
Job operations depend on your connection’s access mode:| Operation | Read-Write | Read-Only |
|---|---|---|
| View jobs | Yes | Yes |
| View job details | Yes | Yes |
| Retry job | Yes | No |
| Remove job | Yes | No |
Best Practices
Debugging Failed Jobs
- Filter by Failed status
- Sort by Finished On (newest first)
- Open the job to view the stack trace
- Check the job data for invalid inputs
- Review the timeline to understand when the failure occurred
Monitoring Active Jobs
- Long-running active jobs may indicate stuck workers
- Check the Processed On time for active jobs
- If a job has been active for too long, the worker may have crashed
Cleaning Up Old Jobs
BullMQ has built-in job retention settings. Configure in your worker:Next Steps
Dashboard
View aggregate metrics and trends.
Alerts
Get notified about job failures.
Troubleshooting
Common issues and solutions.