An asynchronous task queue/job queue based on distributed message passing.
Celery is the most complete Python task queue: several brokers (RabbitMQ, Redis, Amazon SQS), periodic tasks through Celery beat, retries, rate limits and workflow primitives such as chains and chords. That breadth comes with more configuration and more ways to go wrong. RQ uses Redis only and keeps the model simple: enqueue a function call, run workers, inspect jobs. Dramatiq aims for Celery's reliability with a smaller API, works with RabbitMQ or Redis and retries failed tasks by default.
A little task queue with multi-process, multi-thread, or greenlet workers.
Distributed task queue with native asyncio support and pluggable brokers.