Skip to content

EnsureRunIngestionScheduleWorkflow

Purpose

Создает или обновляет Temporal schedule для периодического запуска RunIngestionWorkflow.

Код: internal/worker/workflows/run_ingestion_schedule.go

Input / Output

Input (models.EnsureRunIngestionScheduleInput): - schedule_id, cron, timezone, task_queue - data_source_id - name (optional) - metadata (optional) - paused - preserve_paused_state (optional)

Output (models.EnsureRunIngestionScheduleResult): - schedule_id - created, updated, paused

Called Activities / Children

Retry / Failure Behavior

  • Activity timeout: 1m
  • Retry: max_attempts=3, backoff 2s -> 20s
  • Workflow завершается ошибкой при пустом/невалидном data_source_id или проблемах доступа к Temporal Schedule API.

Manual Run

docker compose exec -T temporal-admin-tools temporal workflow start \
  --address temporal:7233 --namespace default --task-queue default \
  --type EnsureRunIngestionScheduleWorkflow \
  --workflow-id ensure-run-ingestion-schedule-manual-$(date +%s) \
  --input '{"schedule_id":"run-ingestion","cron":"0 0 * * *","timezone":"UTC","task_queue":"default","data_source_id":"<uuid>","paused":true,"preserve_paused_state":true}'
  • Schedule defaults: TERRY_DEFAULT_SCHEDULE_ID, TERRY_DEFAULT_SCHEDULE_CRON, TERRY_DEFAULT_SCHEDULE_TZ
  • Worker startup can auto-upsert paused schedule when TERRY_DEFAULT_DATA_SOURCE_ID is set