Skip to content

scrape-helper

scrape-helper отвечает за автоматический сбор данных из внешних источников.

Что делает

  • запускает задания по cron;
  • собирает данные с подключённых площадок;
  • формирует raw-события source.raw.v1;
  • валидирует события по JSON Schema;
  • публикует их в RabbitMQ;
  • загружает артефакты в S3/MinIO.

Поддерживаемые источники

  • easuz
  • eis
  • rnp
  • fedresurs
  • fns
  • gistorgi

Основные env-переменные

  • RABBITMQ_URL
  • QUEUE_RAW_EVENT
  • QUEUE_QUARANTINE_EVENT
  • SCRAPE_SCHEDULE
  • REQUEST_TIMEOUT_MS
  • RETRY_ATTEMPTS
  • RETRY_BASE_DELAY_MS
  • CIRCUIT_BREAKER_FAILURE_THRESHOLD
  • CIRCUIT_BREAKER_OPEN_MS
  • SHARED_CONTRACTS_DIR
  • ENABLED_SOURCES
  • S3_ENDPOINT
  • S3_REGION
  • S3_ACCESS_KEY
  • S3_SECRET_KEY
  • S3_BUCKET
  • S3_FORCE_PATH_STYLE
  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_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:dev

ENABLED_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

Техническая и аналитическая документация платформы NPPWEB.