Сервис нормализации и ingest для пайплайна NPPWEB.
- читает
source.raw.v1из RabbitMQ; - валидирует raw-события;
- нормализует payload до формата
source.normalized.v1; - отправляет
ingestNormalizedItemвnpp-backendс заголовкомx-ingest-token; - публикует успешные нормализованные события в
source.normalized.v1; - при transient ошибках использует retry queue, а poison messages отправляет в DLQ.
RABBITMQ_URLQUEUE_RAW_EVENTQUEUE_RETRY_EVENTQUEUE_DEAD_LETTER_EVENTQUEUE_NORMALIZED_EVENTAPI_BASE_URLGRAPHQL_PATHAPI_GRAPHQL_URLAPI_INGEST_TOKENSHARED_CONTRACTS_DIRRETRY_ATTEMPTSRETRY_BASE_DELAY_MSPREFETCH
По умолчанию SHARED_CONTRACTS_DIR указывает на ../contracts.
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:devsource.raw.v1source.raw.retry.v1source.raw.dlq.v1source.normalized.v1
npm run check
npm run test
npm run build- получает события от
scrape-helper; - использует схемы из
contracts; - отправляет результаты в
npp-backend.