scrape-helper
scrape-helper отвечает за автоматический сбор данных из внешних источников.
Что делает
- запускает задания по cron;
- собирает данные с подключённых площадок;
- формирует raw-события
source.raw.v1; - валидирует события по JSON Schema;
- публикует их в RabbitMQ;
- загружает артефакты в S3/MinIO.
Поддерживаемые источники
easuzeisrnpfedresursfnsgistorgi
Основные env-переменные
RABBITMQ_URLQUEUE_RAW_EVENTQUEUE_QUARANTINE_EVENTSCRAPE_SCHEDULEREQUEST_TIMEOUT_MSRETRY_ATTEMPTSRETRY_BASE_DELAY_MSCIRCUIT_BREAKER_FAILURE_THRESHOLDCIRCUIT_BREAKER_OPEN_MSSHARED_CONTRACTS_DIRENABLED_SOURCESS3_ENDPOINTS3_REGIONS3_ACCESS_KEYS3_SECRET_KEYS3_BUCKETS3_FORCE_PATH_STYLEHTTP_PROXYHTTPS_PROXYNO_PROXY
Локальный запуск
bash
cd ../infra
cp .env.example .env
docker compose --env-file .env -f docker-compose.yml -f docker-compose.apps.yml up -d rabbitmq minio minio-init
cd ../scrape-helper
npm install
npm run start:devENABLED_SOURCES
Значение читается как список через запятую:
bash
ENABLED_SOURCES=eis
ENABLED_SOURCES=easuz,eis,rnp
ENABLED_SOURCES=easuz,eis,rnp,fedresurs,fns,gistorgiЧто важно
- если указаны только неизвестные источники, сервис стартует без активных адаптеров;
- для части государственных площадок может потребоваться
HTTP_PROXYилиHTTPS_PROXY; - для внутренних сервисов нужно корректно поддерживать
NO_PROXY.
Качество
bash
npm run check
npm run test
npm run build