Skip to main content

BullMQ

The Load Balancer uses BullMQ as a queue solution and provides a BullMQ Interface with @bull-board on /bull for real-time monitoring and management of your distributed job queues.

BullMQ Dashboard

Features

  • Lists the BullMQ queues managed by the Load Balancer.
  • Displays job status (waiting, active, completed, failed, delayed).
  • Shows job details, payload, and logs for debugging.
  • Allows retrying or removing jobs directly from the interface.
  • Real-time updates of queue and job status.

Access

  • The BullMQ interface is available at /bull if enabled in the configuration.
  • This interface requires authentication and SSL, which must be handled by an HTTP proxy configured by the administrator.

Example Nginx Proxy Configuration

location /bull/ {
proxy_pass http://localhost:3000/bull/;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
# SSL configuration here
}

Monitoring Queues

  • The interface fetches queue and job information from the BullMQ integration in the Load Balancer.
  • Use the interface to monitor queue health, job throughput, and debug issues in real time.
  • Supports filtering and searching jobs by status or ID.

Enabling or Disabling the BullMQ Interface

The BullMQ interface can be enabled or disabled using the BULL_BOARD_ENABLED environment variable in your Load Balancer configuration. Set it to true to enable or false to disable the BullMQ dashboard:

BULL_BOARD_ENABLED=true

By default, the BullMQ interface is enabled. If you do not want to expose it, set this variable to false.