Мини-сервис для собеседования. Он имитирует обработчик сообщений из Kafka и запись в Postgres, но инфраструктура заменена обычными файлами.
python -m pytest
python -m app.workers.file_workerСервис читает сообщения из data/kafka_input.txt, сохраняет заявку в data/db.txt и публикует событие в data/kafka_output.txt.
Каждая заявка должна быть обработана один раз. Повторное сообщение с тем же request_id должно игнорироваться.
Исторически request_id был UUID. После подключения внешнего партнёра Northwind идентификатор может быть строкой формата EXT-100, EXT-101, ext-100.
На границе системы request_id приходит как строка. Внутри системы он должен быть приведён к единому каноническому виду: strip + upper.
Можно пользоваться AI, IDE и документацией. Важно не только починить тесты, но и объяснить, почему проблема возникла.