Merge pull request #8 from seblucas/proper_stop

Enhance the proper stopping.
This commit is contained in:
2017-06-02 23:40:11 +03:00
committed by GitHub
2 changed files with 9 additions and 1 deletions
+8 -1
View File
@@ -17,6 +17,8 @@ def process_gateway_messages(gateway, client, stop_event):
while not stop_event.is_set(): while not stop_event.is_set():
try: try:
packet = gateway._queue.get() packet = gateway._queue.get()
if packet is None:
continue
_LOGGER.debug("data from queuee: " + format(packet)) _LOGGER.debug("data from queuee: " + format(packet))
sid = packet.get("sid", None) sid = packet.get("sid", None)
@@ -67,6 +69,8 @@ def process_mqtt_messages(gateway, client, stop_event):
while not stop_event.is_set(): while not stop_event.is_set():
try: try:
data = client._queue.get() data = client._queue.get()
if data is None:
continue
_LOGGER.debug("data from mqtt: " + format(data)) _LOGGER.debug("data from mqtt: " + format(data))
sid = data.get("sid", None) sid = data.get("sid", None)
@@ -81,8 +85,11 @@ def process_mqtt_messages(gateway, client, stop_event):
def exit_handler(signal, frame): def exit_handler(signal, frame):
print('Exiting') print('Exiting')
stop_event.set() stop_event.set()
gateway.stop() t3.join()
client.disconnect() client.disconnect()
t2.join()
gateway.stop()
t1.join()
if __name__ == "__main__": if __name__ == "__main__":
_LOGGER.info("Loading config file...") _LOGGER.info("Loading config file...")
+1
View File
@@ -57,6 +57,7 @@ class Mqtt:
def disconnect(self): def disconnect(self):
self._client.disconnect() self._client.disconnect()
self._queue.put(None)
def subscribe(self, model="+", name="+", prop="+", command=None): def subscribe(self, model="+", name="+", prop="+", command=None):
topic = self.prefix + "/" + model + "/" + name + "/" + prop topic = self.prefix + "/" + model + "/" + name + "/" + prop