Skip to main content
bullstudio automatically discovers all BullMQ queues in your connected Redis instance and provides tools to monitor and manage them.

Queue List

The queue list shows all discovered queues with their current status and job counts.

Queue Information

ColumnDescription
NameThe queue name as defined in your BullMQ code
StatusCurrent queue state (Active, Paused)
WaitingJobs waiting to be processed
ActiveJobs currently being processed
CompletedSuccessfully processed jobs
FailedJobs that failed processing
DelayedJobs scheduled for future processing
Job counts reflect the current state in Redis. Use the refresh button to update counts.

Job Statuses Explained

BullMQ jobs move through various states during their lifecycle:
StatusDescription
WaitingJob is in the queue, ready to be picked up by a worker
ActiveJob is currently being processed by a worker
CompletedJob finished successfully
FailedJob threw an error during processing
DelayedJob is scheduled to run at a future time
PausedQueue is paused; jobs won’t be picked up
Waiting-childrenJob is waiting for child jobs to complete

Queue Operations

Pause Queue

Pausing a queue stops workers from picking up new jobs. Jobs already being processed will complete, but no new jobs will start.
1

Select the queue

Click on the queue you want to pause.
2

Click Pause

Click the Pause button in the queue actions.
3

Confirm

The queue status will change to Paused.
Pausing a queue does not stop currently processing jobs. They will complete normally.
Use cases for pausing:
  • Deploying new worker code
  • Investigating issues without new jobs starting
  • Performing maintenance on dependent services

Resume Queue

Resuming a paused queue allows workers to start picking up jobs again.
1

Select the paused queue

Click on the queue showing Paused status.
2

Click Resume

Click the Resume button.
3

Verify

The queue status will return to Active and workers will resume processing.

Real-Time Updates

Queue information updates in real-time:
  • Job counts refresh automatically
  • Status changes appear immediately
  • New queues are discovered automatically

Filtering Queues

If you have many queues, use the search/filter to find specific ones:
  • Search by queue name
  • Filter by status (Active, Paused)

Queue Best Practices

Naming Conventions

Use descriptive, consistent queue names:
// Good - descriptive and consistent
const emailQueue = new Queue('email-notifications');
const paymentQueue = new Queue('payment-processing');
const reportQueue = new Queue('report-generation');

// Avoid - generic or inconsistent
const queue1 = new Queue('queue1');
const q = new Queue('q');

Separate Queues by Priority

Consider using separate queues for different job priorities:
const highPriorityQueue = new Queue('orders-high-priority');
const normalQueue = new Queue('orders-normal');
const lowPriorityQueue = new Queue('orders-low-priority');

Monitor Queue Depth

Keep an eye on the Waiting count:
  • Consistently growing waiting jobs may indicate not enough workers
  • Sudden spikes may indicate upstream issues flooding the queue
  • Set up backlog alerts to get notified

Access Modes

Your connection’s access mode affects what operations you can perform:
OperationRead-WriteRead-Only
View queuesYesYes
View job countsYesYes
Pause queueYesNo
Resume queueYesNo
Use Read-Only mode for production connections where you only want to monitor, not modify.

Next Steps