Overview
BullMQ for Python is a close port of the Node.js library, using the same Lua scripts for Redis operations. This ensures compatibility across all language implementations.Key Features
- Add jobs to queues - Regular and delayed jobs with deduplication support
- Workers - Process jobs concurrently using asyncio
- Job progress - Track job progress in real-time
- Job backoff - Automatic retry with configurable backoff strategies
- Getters - Query job states and queue information
- Interoperability - Jobs can be added in Python and processed by workers in Node.js, Elixir, or PHP
Requirements
- Python 3.10 or higher
- Redis 5.0 or higher (6.2+ recommended)
Architecture
BullMQ uses asyncio for concurrency, enabling efficient processing of jobs without blocking. All queue operations are asynchronous and should be awaited.Use Cases
Python BullMQ is ideal for:- Background job processing (email sending, image processing, etc.)
- Distributed task execution across multiple workers
- Scheduled and delayed job execution
- Building hybrid systems where jobs are produced in Python and consumed in Node.js (or vice versa)
Version
Current version: 2.19.5The Python package is currently in alpha status. While it’s production-ready for many use cases, the API may evolve based on community feedback.
Next Steps
Installation
Install BullMQ for Python using pip
Usage Guide
Learn how to add jobs and create workers
Changelog
View release history and updates
Main Documentation
Explore the full BullMQ documentation
