Celery is a free, open-source distributed task queue for real-time processing that also supports scheduled work. It routes task messages through a broker to worker processes, and deployments can use multiple workers and brokers for high availability and horizontal scaling. Celery Beat starts tasks at intervals for available worker nodes. Documented transports include RabbitMQ, Redis, Amazon SQS, Kafka, and Google Pub/Sub, with different capabilities: RabbitMQ and Redis are marked stable, SQS stable without monitoring or remote control, and Kafka experimental without those features. Celery documents integrations with Django, Pyramid, Pylons, Flask, web2py, Tornado, and FastAPI. Commands inspect and manage workers; monitoring options include Flower and event utilities. Celery 5.6 supports Python 3.9 through 3.13 and PyPy 3.9 or newer. It is self-hosted, with installation via PyPI or source, and is licensed under the New BSD License. The project advises restricting broker access because Celery should be treated as unsafe; supported broker backends can use SSL encryption and authentication.
Who it is for
Celery suits Python teams building self-hosted systems that need distributed task processing or scheduled jobs. Its broker and web-framework integrations may fit projects using the documented technologies.
What is good
- Free and open source under the New BSD License.
- Supports scheduled jobs with Celery Beat.
- Can scale across multiple workers and brokers.
- Documents several broker and web-framework integrations.
- Commands can inspect and manage worker nodes.
What to know first
- Windows is not officially supported.
- Kafka support is marked experimental.
- SQS lacks monitoring and remote control.
- Broker access should be restricted.
Verdict
Celery offers a self-hosted queue with scheduling, worker management, and several documented transports. Teams should account for broker-specific capability limits and the project's security guidance.
Celery plans and pricing
All plansCompared on task queue software
- Deployment model
- self_hosted
- Custom retry policy
- Yes
- Scheduled jobs
- Yes
- Dead-letter queue
- Yes
- Official SDK languages
- Python

