SyncGateLaunchpoolWorkflow
Purpose
Снимает snapshot Gate Launchpool project-list и записывает факты в Timescale.
Код: internal/worker/workflows/sync_gate_launchpool.go
Input / Output
Input (models.SyncGateLaunchpoolInput):
- page
- page_size
- status (optional)
Output (models.SyncGateLaunchpoolResult):
- snapshot_at
- projects_seen, projects_upserted
- subpools_seen, subpools_upserted
- quarantine_rows
- errors[], has_errors
Called Activities / Children
- Activity:
SyncGateLaunchpoolSnapshot - Child workflows: нет
Retry / Failure Behavior
- Activity timeout:
3m - Retry:
max_attempts=3 gate_access_deniedпомечен как non-retryable и завершает workflow ошибкой.
Manual Run
docker compose exec -T temporal temporal workflow start \
--address temporal:7233 --namespace default --task-queue default \
--type SyncGateLaunchpoolWorkflow \
--workflow-id sync-gate-launchpool-manual-$(date +%s) \
--input '{"page":1,"page_size":1000,"status":0}'
Related Tables / Logs
- Tables:
fct_gate_launchpool_snapshot,fct_gate_launchpool_subpool_snapshot,fct_gate_launchpool_response_snapshot,fct_gate_launchpool_quarantine,fct_gate_launchpool_5min,fct_gate_launchpool_daily - Логи:
gate_launchpool_mapping_coverage,gate launchpool api request failed