# BullMQ > A fast and robust background job processing library for Redis using Node.js with support for queues, delayed jobs, retries, and more. BullMQ is a lightweight, robust, and fast Node.js library for creating background jobs and sending messages using queues. It is backed by Redis, making it easy to scale horizontally and process jobs across multiple servers. BullMQ is a rewrite of the popular Bull library by the same authors, featuring a modern codebase written in TypeScript with new features and performance improvements. It has been successfully used in production for video transcoding, image processing, email sending, and many other background job types. - **High Performance** - Process more than 100k jobs per second with parallel job execution and bulk job additions for maximum throughput - **Delayed Jobs** - Schedule jobs to run at a specific point in time or after a delay, perfect for time-sensitive operations - **Retry Failed Jobs** - Automatically retry failed jobs with configurable retry strategies including exponential backoff - **Job Priorities** - Assign priorities to jobs to ensure critical tasks are processed first - **Rate-Limited Jobs** - Control the speed at which jobs are processed to conform to external API limits - **Flows** - Create complex job dependencies with parent-child relationships for multi-step workflows - **Repeatable Jobs** - Schedule recurring jobs using cron expressions for periodic task execution - **Global Events** - Listen to queue-wide events for monitoring and logging job progress, completion, and failures - **Queue Metrics** - Track queue performance with built-in metrics and telemetry support - **Telemetry** - Monitor and observe job processing with integrated telemetry capabilities To get started with BullMQ, install it via npm and create a Queue instance to add jobs. Then create a Worker to process those jobs. The library provides a clean API for managing job lifecycle, including progress tracking, logging, and event handling. BullMQ Pro offers additional features like job grouping, batches, observables, and professional support for production environments. ## Features - Background job processing - Message queues - Delayed jobs - Job retries with exponential backoff - Job priorities - Rate-limited jobs - Flows (parent-child job dependencies) - Repeatable jobs with cron expressions - Global events - Queue metrics - Telemetry - Horizontal scaling - Bulk job additions - Parallel job execution - Job progress tracking - Job logs and events ## Integrations Redis, Node.js, TypeScript ## Platforms WEB, API, DEVELOPER_SDK ## Pricing Open Source ## Links - Website: https://bullmq.io - Documentation: https://docs.bullmq.io/ - Repository: https://github.com/taskforcesh/bullmq - EveryDev.ai: https://www.everydev.ai/tools/bullmq