dograh/api/services/campaign/readme.md
Abhishek 6827744327
fix: make campaign process batch thread safe (#141)
* fix: dont schedule new batch on resume

* fix: make process_batch thread safe
2026-01-30 14:48:00 +05:30

18 lines
678 B
Markdown

### campaign_orchestrator.py (CampaignOrchestrator)
- Listens to retry events, batch completed event, sync completed events from redis pubsub, and schedules batches
- Monitors stale campaigns and schedules batches if one is not already scheduled
- Marks campaign as completed if no more tasks pending
### runner.py (CampaignRunnerService)
- Service layer to handle router requests, like run campaign, pause campaign, resume campaign, get campaign status etc.
### call_dispatcher.py (CampaignCallDispatcher)
- Ensures rate limit and concurrency limits and dispatches call using telephony provider
### campaign_tasks.py
- sync campaign from source
- process campaign batch