Skip to content

processing-worker

processing-worker — сервис нормализации и ingest между очередями и API.

Что делает

  • читает source.raw.v1 из RabbitMQ;
  • валидирует raw-события;
  • нормализует их в source.normalized.v1;
  • вызывает ingestNormalizedItem в npp-backend;
  • публикует успешные нормализованные события;
  • использует retry queue и DLQ для неуспешных сообщений.

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

  • RABBITMQ_URL
  • QUEUE_RAW_EVENT
  • QUEUE_RETRY_EVENT
  • QUEUE_DEAD_LETTER_EVENT
  • QUEUE_NORMALIZED_EVENT
  • API_BASE_URL
  • GRAPHQL_PATH
  • API_GRAPHQL_URL
  • API_INGEST_TOKEN
  • SHARED_CONTRACTS_DIR
  • RETRY_ATTEMPTS
  • RETRY_BASE_DELAY_MS
  • PREFETCH

Локальный запуск

bash
cd ../infra
cp .env.example .env
docker compose --env-file .env -f docker-compose.yml -f docker-compose.apps.yml up -d rabbitmq backend-api

cd ../processing-worker
npm install
npm run start:dev

Важные связи

  • получает события от scrape-helper;
  • использует схемы из contracts;
  • отправляет результаты в npp-backend.

Качество

bash
npm run check
npm run test
npm run build

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