Описание приложения:
Разрабатывается приложение, которое собирает и обрабатывает данные опросов, отправляя их в систему Kafka. Приложение использует класс PollSessionLogWatcher, который отслеживает сообщения PollSessionMessage. При получении сообщения PollSessionLogMessage со значение “Опрос завершен”, приложение:
- Собирает все даты из сообщений, за которые были получены данные в этой сесии.
- Получает все measurePoint для данной сессии опроса по EquipmentId.
- Запрашивает данные из полученных дат с использованием метода GetConsumption.
- Формирует и отправляет сообщение в Kafka.
Проблема:
При запуске приложения выполняется проверка на пропущенные сессии и если они есть, то все пропущенные сессии обрабатываются в соответствии с алгоритмом получения сообщений. Однако, эта проверка осуществляется на основе последнего PollSessionId из последнего сообщения Kafka, а данные запрашиваются напрямую из базы данных, минуя API. Но такой подход может привести к пропуску сессий, так как не гарантирует, что все данные были обработаны.
Вопрос:
Как в данном контексте можно получить пропущенные ID сессий опроса и журналы опроса, используя API, а не обращения к базе данных?