Temporal.io workflow orchestration for SignalRoom. Use when designing workflows, debugging activities, managing schedules, or troubleshooting stuck workflows.
Temporal Cloud (signalroom-713.nzg5u)
│
├── Schedules (cron triggers)
│
└── Workflows (orchestration)
│
└── Activities (actual work)
│
└── dlt Pipelines / Reports / Notifications
| Concept | Purpose | Location |
|---|---|---|
| Workflow | Orchestration logic (no I/O) | temporal/workflows.py |
| Activity | Retryable unit of work | temporal/activities.py |
| Worker | Process that executes workflows/activities |
workers/main.py |
| Schedule | Cron-like trigger | Temporal Cloud UI |
Workflows (pure orchestration):
Activities (actual work):
# Sync a single source
SyncSourceWorkflow(source_name, resources, notify_on_success, notify_on_failure)
# Sync multiple sources sequentially
ScheduledSyncWorkflow(sources)
# Run and send a report
RunReportWorkflow(report_name, channel, send)
# Via script (recommended)
python scripts/trigger_workflow.py everflow -w
# Programmatically
from signalroom.temporal.config import get_temporal_client
client = await get_temporal_client()
await client.start_workflow(
SyncSourceWorkflow.run,
args=[...],
id="sync-everflow-manual",
task_queue="api-tasks"
)
| Schedule ID | Cron | Workflow |
|---|---|---|
hourly-sync-everflow-redtrack | 0 12-23 * * * (7am-11pm ET) | ScheduledSyncWorkflow |
daily-sync-s3 | 0 11 * * * (6am ET) | SyncSourceWorkflow |
# Setup/update schedules
python scripts/setup_schedules.py
# Delete all schedules
python scripts/setup_schedules.py --delete