Node.js Job Queue Library

Node.js Job Queue Library

bullmq.io

2

About this website

BullMQ is a high-performance message queue and background job processing library for Node.js and TypeScript, designed as the spiritual successor to Bull, written entirely in TypeScript with Redis as its backing store. The library handles job lifecycles including scheduling, execution, retries, prioritization, rate limiting, concurrency control, result storage, event-driven progress tracking, and dead letter queues. Job types include delayed jobs that execute at a specified future time, repeatable jobs with cron expressions for recurring schedules, parent-child job flows with dependencies where child jobs execute only after their parent completes, and job groups that organize related jobs for batch processing. Priority levels control execution order when multiple jobs compete for limited worker capacity, while concurrency settings determine how many jobs a single worker processes simultaneously across separate threads. Rate limiting enforces maximum job throughput per time window with burst capacity and queue-specific or global limits, preventing downstream API exhaustion and database write contention. Retry policies configure maximum attempts, exponential or fixed backoff delays, and per-error-type handling strategies. The sandboxed processor architecture runs each job in an isolated process or thread, preventing unhandled exceptions in one job from crashing the worker. Progress reporting publishes real-time updates through Redis pub-sub channels, enabling dashboard monitoring of long-running jobs with percentage completion. The Queue Scheduler, Queue Events, and Worker classes compose into production architectures with horizontal scaling across multiple processes. Bullboard provides a web interface for inspecting queue health, retrying failed jobs, and monitoring throughput.

Tags & Categories

Statistics

2
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!