processing-worker
processing-worker — сервис нормализации и ingest между очередями и API.
Что делает
- читает
source.raw.v1из RabbitMQ; - валидирует raw-события;
- нормализует их в
source.normalized.v1; - вызывает
ingestNormalizedItemвnpp-backend; - публикует успешные нормализованные события;
- использует retry queue и DLQ для неуспешных сообщений.
Основные env-переменные
RABBITMQ_URLQUEUE_RAW_EVENTQUEUE_RETRY_EVENTQUEUE_DEAD_LETTER_EVENTQUEUE_NORMALIZED_EVENTAPI_BASE_URLGRAPHQL_PATHAPI_GRAPHQL_URLAPI_INGEST_TOKENSHARED_CONTRACTS_DIRRETRY_ATTEMPTSRETRY_BASE_DELAY_MSPREFETCH
Локальный запуск
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