Соединение MQTTIO с Apache Beam ведет себя по-разному для разных тем
Когда я устанавливаю Mosquitto Broker и публикую сообщения в теме, подписываюсь на сообщения с помощью конвейера Apache Beam MQTTIO и печатаю сообщение в консоли, я могу получать все сообщения.
Даже после 5-минутного перерыва, если я публикую сообщение, я могу видеть его в консоли приложения Beam.
Теперь я ничего не изменил, кроме
ServerUri
в
ConnectionConfiguration
из
MQTTIO.Read()
и дал соответствующий
topic
который доступен у этого брокера. Обратитесь к документации
Это изменение заставило приложение работать по-другому, в консоли печатаются только темы с высокой частотой сообщений. Когда частота сообщений составляет 1 сообщение в минуту или где-то рядом с этим диапазоном частоты, в консоли печатается только первое сообщение.
Я даже пробовал
withMaxNumRecords
а также
withMaxReadTime
но все же он просто перечисляет первое сообщение.
Есть ли тайм-аут в конфигурации брокера из-за простоя между сообщениями?
Такое же поведение наблюдалось у бегунов - DirectRunner и FlinkRunner.
Изменение параметров на
--streaming=true
для конвейера с использованием аргументов тоже не сработало