Terminal UI dashboard for BullMQ queue monitoring
npm install bullmq-dashDashboard for monitoring BullMQ
- Real-time monitoring - Watch queues and jobs update live with configurable polling
- Queue overview - View all BullMQ queues with job counts and status
- Job inspection - Browse jobs by status, view details, data, and error stacktraces
- Scheduler monitoring - View Job Schedulers (repeatable jobs) with patterns, iterations, and job history
- Job management - Add, cancel, delete, and retry jobs directly from the dashboard
- Global metrics - Track enqueue/dequeue rates across all queues
- Bun >= 1.0.0
- Redis server with BullMQ queues
``bashInstall globally via npm
npm install -g bullmq-dash
Usage
$3
`bash
Interactive setup (prompts for Redis connection)
bullmq-dashConnect with CLI options
bullmq-dash --redis-host localhost --redis-port 6379Or use environment variables
export REDIS_HOST=localhost
export REDIS_PORT=6379
bullmq-dash
`$3
`
bullmq-dash [options]Options:
--redis-host Redis host (default: localhost)
--redis-port Redis port (default: 6379)
--redis-password Redis password
--redis-db Redis database number (default: 0)
--poll-interval Polling interval in milliseconds (default: 3000)
--queues Comma-separated queue names to monitor
-v, --version Show version
-h, --help Show help
`$3
`bash
Interactive setup
bullmq-dashConnect to remote Redis
bullmq-dash --redis-host 192.168.1.100 --redis-port 6380Connect with password
bullmq-dash --redis-host redis.example.com --redis-password secretMonitor specific queues only
bullmq-dash --queues email,notifications,paymentsCustom polling interval (5 seconds)
bullmq-dash --poll-interval 5000
`Keyboard Shortcuts
$3
| Key | Action |
| --------- | ----------------------------------- |
|
j / ↓ | Move down |
| k / ↑ | Move up |
| Tab | Switch between queues and jobs pane |
| ← / → | Previous/next page (in job list) |$3
| Key | Action |
| -------------- | ------------------- |
|
Enter | View job details |
| d | Delete selected job |
| r | Refresh data |
| q / Ctrl+C | Quit |$3
| Key | Status |
| --- | ------------ |
|
1 | Latest (all) |
| 2 | Waiting |
| 3 | Active |
| 4 | Completed |
| 5 | Failed |
| 6 | Delayed |
| 7 | Scheduled |$3
When viewing scheduled jobs, the job list shows all Job Schedulers (repeatable jobs):
| Key | Action |
| ------- | ----------------------------------------- |
|
Enter | View scheduler details |
| j | Jump to next delayed job (in detail view) |The scheduler detail modal shows:
- Basic info: Key, name, pattern/interval, timezone
- Statistics: Iterations count, limits, created/next/end dates
- Job template: Default job data and options
- Next delayed job: Preview of the next job to be executed
- Recent history: Last 10 completed/failed jobs from this scheduler
$3
| Metric | Description |
| ------ | ------------------------------ |
| QUEUES | Total number of queues |
| WAIT | Jobs waiting to be processed |
| ACTIVE | Jobs currently being processed |
| DONE | Completed jobs |
| FAIL | Failed jobs |
| DELAY | Delayed jobs |
| ENQ | Jobs enqueued per minute |
| DEQ | Jobs dequeued per minute |
Development
$3
Create a
.env file or set environment variables:`env
Redis connection
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=your_password # Optional
REDIS_DB=0 # Optional, default: 0Polling interval in milliseconds
POLL_INTERVAL=3000 # Optional, default: 3000Filter specific queues (comma-separated)
QUEUE_NAMES=queue1,queue2 # Optional, monitors all queues if not set
`$3
`bash
Run in development mode
bun run devType check
bun run typecheckLint
bun run lintFormat
bun run formatBuild for production
bun run buildRun production build
bun run start
`Tech Stack
- Runtime: Bun
- TUI Framework: @opentui/core
- Queue Library: BullMQ
- Redis Client: ioredis
- Config Validation: Zod
- Build Tool: Bun bundler
Color Theme
bullmq-dash` uses the Catppuccin Mocha color palette for a modern, easy-on-the-eyes aesthetic:- BullMQ - Premium Message Queue for Node.js
- Bull Board - Web-based dashboard for BullMQ
MIT