celery
Installation
SKILL.md
Celery
Distributed task processing with focus on routing, composition, and failure handling.
When Not to Use Celery
Before adopting Celery, check if you actually need it:
| Scenario | Better Alternative |
|---|---|
| Short-lived fan-out (5-10 parallel HTTP calls) | Simple thread pool or asyncio.gather |
| Single-server Django app with moderate load | Django 6.0+ built-in task queue |
| Work dominated by long IO (10+ min tasks) | Task-per-request model or job queue (dramatiq, huey) |
| Operational overhead unacceptable | django-tasks, RQ, or simple database polling |
Check before adopting:
- Do you need multiple workers across machines? (If no → simpler queue)
- Do you have 100+ tasks/minute sustained? (If no → overkill)
- Can you tolerate operational cost (broker + worker fleet + monitoring)? (If no → huey/dramatiq)