LoaderActivity.Execute
Purpose
Резолвит текущую Terry loader config по data_source_id, собирает middleware/fetcher chain и выполняет один universal fetch run.
Код: internal/worker/loader/activity.go
Input / Output
Input (loader.LoaderRequest):
- data_source_id
- name (optional)
- metadata (optional)
Output (loader.LoaderOutput):
- body
- metadata
- fetched_at
- source_type
В runtime metadata дополнительно пробрасываются:
- data_source_id, loader_config_id, loader_config_version, loader_config_status
- workspace_id, domain_id, page_type, code_name
External Dependencies
- PostgreSQL catalog
terry.*через repository/config resolver - loader fetchers (
sdk,http,file,database,playwright,custom) - loader middleware (
fingerprint,proxy,incremental,ratelimit)
Idempotency
- сама activity не пишет в Terry catalog;
- идемпотентность downstream side effects зависит от конкретного fetcher/consumer.
Error Taxonomy
- invalid request (
missing data_source_id) - source/config inactive
- unsupported source type или middleware type
- transport/fetcher runtime errors