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
- Activity:
SyncNetworksCatalog - Child workflows: нет
Retry / Failure Behavior
- Activity timeout:
5m - Retry:
max_attempts=3, backoff10s -> 1m - При
metrics_required=trueиmetrics_updated=0run завершается ошибкой.
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}'
Related Tables / Logs
- Tables:
networks_catalog,network_identifiers,network_endpoints,network_metrics_snapshots - Логи:
Starting networks catalog sync,Networks catalog sync completed