- Home
- Task Queue Software
- Celery
Celery
What it is
Celery is a free, open-source distributed task queue for real-time processing and scheduled jobs. It sends task messages through a broker to worker processes, and systems can add workers and brokers for horizontal scaling and high availability. Celery Beat starts tasks at regular intervals for available workers. Documented broker transports include RabbitMQ, Redis, Amazon SQS, Kafka, and Google Pub/Sub, but their documented capabilities vary: RabbitMQ and Redis are stable, SQS is stable without monitoring or remote control, and Kafka is experimental without those capabilities. Celery documents integrations for Django, Pyramid, Pylons, Flask, web2py, Tornado, and FastAPI. Commands support inspection and management of worker nodes, and 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, installable through PyPI or from source, and licensed under the New BSD License. The project advises restricting broker access because Celery should be treated as unsafe; supported backends can use SSL encryption and authentication.
For and against
For
- Open source and free under the New BSD License.
- Supports scheduled jobs through Celery Beat.
- Multiple workers and brokers support horizontal scaling.
- Documents integrations with several web frameworks.
- Worker inspection and monitoring options are available.
Against
- Windows is not officially supported.
- Kafka is marked experimental without monitoring or remote control.
- SQS lacks monitoring and remote control.
- Broker access needs to be restricted.
The verdict
Celery provides task queuing, scheduling, and worker management for self-hosted systems. Broker capabilities differ, and the project calls for care in securing broker access.
Who it suits
Celery suits Python developers who need a self-hosted queue for distributed task execution or scheduling. It is also relevant to teams that can configure and secure a message broker.
Plans and prices
Celery
Open-source distributed task queue · install via PyPI or from source
Read 4 Oct 2026 · docs.celeryq.dev
On the record
- Broker integrations
- Documented message transports include RabbitMQ, Redis, Amazon SQS, Kafka, and Google Pub/Sub.docs.celeryq.dev · read 4 Oct 2026
- Broker limits
- The documentation marks RabbitMQ and Redis stable, SQS stable without monitoring or remote control, and Kafka experimental without either capability.docs.celeryq.dev · read 4 Oct 2026
- License
- Celery is open source and licensed under the New BSD License.docs.celeryq.dev · read 4 Oct 2026
- Monitoring
- Celery provides commands to inspect and manage worker nodes and documents monitoring tools including Flower and event utilities.docs.celeryq.dev · read 4 Oct 2026
- Purpose
- Celery is a distributed task queue focused on real-time processing that also supports task scheduling.docs.celeryq.dev · read 4 Oct 2026
- Scaling
- A Celery system can use multiple workers and brokers to support high availability and horizontal scaling.docs.celeryq.dev · read 4 Oct 2026
- Scheduling
- Celery Beat starts tasks at regular intervals for execution by available worker nodes.docs.celeryq.dev · read 4 Oct 2026
- Security
- Celery advises treating it as an unsafe component and recommends restricting broker access; supported broker backends can use SSL encryption and authentication.docs.celeryq.dev · read 4 Oct 2026
- Support channels
- The project points users to its mailing list, IRC channel, issue tracker, and community resources for help.github.com · read 4 Oct 2026
- Supported runtime
- Celery 5.6 runs on Python 3.9 through 3.13 and PyPy 3.9 or newer.github.com · read 4 Oct 2026
- Task processing
- Celery sends task messages through a broker, which delivers them to worker processes for execution.docs.celeryq.dev · read 4 Oct 2026
- Web framework integrations
- Celery documents integrations for Django, Pyramid, Pylons, Flask, web2py, Tornado, and FastAPI.github.com · read 4 Oct 2026
- Windows support
- The project says Windows is not officially supported, although it may work.github.com · read 4 Oct 2026