ADR-002: Celery & Redis Broadcast Scheduler Engine
- Status: Accepted
- Date: 2026-07-05
- Deciders: Backend Engineering Team
Context
Mass broadcast marketing campaigns send thousands of WhatsApp messages per campaign. Executing API calls synchronously during HTTP requests blocks web workers and risks timing out.
Decision
We adopt Celery 5.3 backed by Redis as our distributed task processing engine. Periodic cron scheduling is handled via .
django_celery_beatConsequences
- Positive: High throughput, scalable worker nodes, automatic retries with exponential backoff.
- Negative: Requires running Redis and Celery worker processes alongside the web server.