Skip to content

SyncNetworksCatalogWorkflow

Purpose

Собирает и мержит каталог сетей из CoinGecko, chainid.network и DefiLlama.

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

Input / Output

Input (models.SyncNetworksCatalogInput): - force_full_refresh - soft_delete_grace_days - metrics_required

Output (models.SyncNetworksCatalogResult): - processed, inserted, updated, deactivated - metrics_updated, metrics_stale - errors[], has_errors

Called Activities / Children

Retry / Failure Behavior

  • Activity timeout: 5m
  • Retry: max_attempts=3, backoff 10s -> 1m
  • При metrics_required=true и metrics_updated=0 run завершается ошибкой.

Manual Run

docker compose exec -T temporal temporal workflow start \
  --address temporal:7233 --namespace default --task-queue default \
  --type SyncNetworksCatalogWorkflow \
  --workflow-id sync-networks-catalog-manual-$(date +%s) \
  --input '{"force_full_refresh":false,"soft_delete_grace_days":30,"metrics_required":false}'
  • Tables: networks_catalog, network_identifiers, network_endpoints, network_metrics_snapshots
  • Логи: Starting networks catalog sync, Networks catalog sync completed