celery-asyncio¶
Distributed task queue with native asyncio support. An asyncio-native rewrite of Celery, one of the most widely used distributed task systems in the Python ecosystem.
This project is exploratory. It is not affiliated with or endorsed by the Celery project. If you're looking for the official production-ready task queue, use the original Celery.
Features¶
- Native asyncio worker with hybrid thread pool for mixed async/sync workloads
async deftasks run directly on the event loop, no thread overhead- Sync tasks run in a thread pool alongside async tasks in the same worker
- Valkey/Redis and AMQP transports via kombu-asyncio
- Full CLI compatibility with upstream Celery (
celery -A app worker,celery inspect, etc.) - Celery Flower works out of the box for monitoring
- Django 6.0 Tasks support via django-tasks-celery
- Targeting Python 3.14t free-threading for true parallelism
Quick example¶
from celery import Celery
app = Celery("tasks", broker="redis://localhost:6379/0")
@app.task
async def add(x, y):
return x + y
@app.task
def multiply(x, y):
return x * y
Both add (async) and multiply (sync) run in the same worker. Async tasks run on the event loop, sync tasks run in a thread pool.
Requirements¶
- Python 3.14+
- kombu-asyncio 6.0+
- Valkey 8+ or Redis 7+ or RabbitMQ 4+
License¶
BSD-3-Clause (same as Celery)
Acknowledgments¶
This project builds on the ideas and design of Celery and Kombu by Ask Solem and the Celery contributors.