- Background Tasks: zero config, in-process, chạy sau khi response trả về client.
- Dùng cho: email xác nhận đơn giản, logging, non-critical async work.
- Celery: cần Redis/RabbitMQ broker, distributed workers, retry logic, monitoring với Flower.
- Dùng cho: payment processing, report generation, critical tasks cần retry.
Pitfall: Background Tasks bị mất nếu server restart — Celery persist tasks trong broker.