mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-07-22 11:51:04 +02:00
* fix: move draft and template context handling out of create_workflow_run create_workflow_run now only creates the run with the definition_id and initial_context provided by the caller. Test call paths explicitly resolve draft definitions and merge template context variables before creating the run, while production/runtime paths bind the published definition without adding template defaults. * fix: review comments * chore: format and minor cleanups --------- Co-authored-by: Abhishek Kumar <abhishek@a6k.me> |
||
|---|---|---|
| .. | ||
| sources | ||
| __init__.py | ||
| campaign_call_dispatcher.py | ||
| campaign_event_protocol.py | ||
| campaign_event_publisher.py | ||
| campaign_orchestrator.py | ||
| circuit_breaker.py | ||
| errors.py | ||
| rate_limiter.py | ||
| readme.md | ||
| runner.py | ||
| source_sync.py | ||
| source_sync_factory.py | ||
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