From 295874ebfc03a7411d88821f636ed469856bcb08 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Wed, 31 Jan 2024 03:29:01 +0100 Subject: [PATCH] this works better for the loop --- owrx/reporting/mqtt.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/owrx/reporting/mqtt.py b/owrx/reporting/mqtt.py index 208f9f7c..edd55306 100644 --- a/owrx/reporting/mqtt.py +++ b/owrx/reporting/mqtt.py @@ -22,8 +22,6 @@ class MqttReporter(Reporter): pm.wireProperty("mqtt_topic", self._setTopic), pm.filter("mqtt_host", "mqtt_user", "mqtt_password", "mqtt_client_id", "mqtt_use_ssl").wire(self._reconnect) ] - self.run = True - threading.Thread(target=self._loop).start() def _getClient(self): pm = Config.get() @@ -44,13 +42,9 @@ class MqttReporter(Reporter): port = int(parts[1]) client.connect(host=host, port=port) - return client + threading.Thread(target=client.loop_forever).start() - def _loop(self): - # basic keepalive loop - while self.run: - self.client.loop() - time.sleep(5) + return client def _setTopic(self, topic): if topic is PropertyDeleted: @@ -64,7 +58,6 @@ class MqttReporter(Reporter): old.disconnect() def stop(self): - self.run = False self.client.disconnect() while self.subscriptions: self.subscriptions.pop().cancel()