Bốn lựa chọn phổ biến, khác nhau ở độ phức tạp và feature set.
Celery là chuẩn de-facto, broker Redis/RabbitMQ. Có đủ retry, scheduler (beat), workflow (chord/group), monitoring (Flower). Cài đặt nặng, học hơi dốc — hợp khi task nhiều và chuỗi task phức tạp. RQ (Redis Queue) code Python đơn giản, chỉ broker Redis, không có scheduler built-in (phải thêm rq-scheduler) — hợp khi chỉ cần fire-and-forget mà team đã có Redis sẵn. django-q / django-q2 tích hợp sâu với Django, dùng DB hoặc Redis làm broker, admin UI có sẵn — nhẹ, hợp project nhỏ không muốn dựng thêm Redis. Huey gọn nhẹ, có scheduler, broker Redis — hợp dự án nhỏ-vừa muốn ít boilerplate hơn Celery.
Need | Pick
---------------------------------|----------
Workflow phức tạp, scale lớn | Celery
Gọn, chỉ background job | RQ hoặc Huey
Không muốn thêm Redis | django-q (DB broker)
Cron schedule mạnh | Celery beatĐừng chọn Celery "cho chắc" nếu project chỉ có 3 task email + 1 cron.
- Overhead vận hành (worker, beat, monitoring) sẽ tốn thời gian hơn cả viết feature.
- Bắt đầu với django-q hoặc RQ, đổi sang Celery khi thực sự chạm trần.