From fb52b59ad9eb08e34f1f5e639cca91b519f53511 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Fri, 24 Jan 2020 03:17:42 +0800 Subject: [PATCH] Refactor mqtt sender script #299 --- utils/mqtt_sender/mqtt_sender.py | 43 ++++++++------------------------ 1 file changed, 11 insertions(+), 32 deletions(-) diff --git a/utils/mqtt_sender/mqtt_sender.py b/utils/mqtt_sender/mqtt_sender.py index 54349755..a2d0ea8c 100644 --- a/utils/mqtt_sender/mqtt_sender.py +++ b/utils/mqtt_sender/mqtt_sender.py @@ -1,7 +1,6 @@ import paho.mqtt.client as mqtt +import yaml import ssl -from threading import Thread -from daemonize import Daemonize import redis import time import signal @@ -10,24 +9,18 @@ import os import logging - -def sigint_handler(signal, frame): - #logging.warning('Interrupted') - sys.exit(0) - os._exit(0) - +# TODO: yaml configuration file for redis and mqtt settings def on_connect(client, userdata, flags, rc): - #logging.info("Connected with result code "+str(rc)) - client.subscribe("$SYS/#") - + logging.info("Connected with result code "+str(rc)) + #client.subscribe("$SYS/#") def on_publish(client, userdata, mid): pass -def getRedis(i, client, logger): +def redis_listen(client, logger): logger.info("Listening in redis events") r = redis.StrictRedis(host='localhost', port=6379, db=0) while 1: @@ -40,9 +33,6 @@ def getRedis(i, client, logger): -def sigint_handler(signal, frame): - sys.exit(0) - def get_logger(): logger = logging.getLogger("mqtt_logger") logger.setLevel(logging.INFO) @@ -64,25 +54,14 @@ def main(): client.on_connect = on_connect client.on_publish = on_publish - client.tls_set( - "/etc/letsencrypt/live/resqaws.jankstudio.com/fullchain.pem", cert_reqs=ssl.CERT_NONE, - tls_version=ssl.PROTOCOL_TLSv1) + # configure mqtt broker to accept localhost + client.connect("localhost", 1883, 60) - client.connect("resqaws.jankstudio.com", 8883, 60) + client.loop_start() + redis_listen(client, logger) + client.loop_end() - logger.info("Starting redis thread") - t = Thread(target=getRedis, args=(1, client, logger)) - - t.start() - - signal.signal(signal.SIGINT, sigint_handler) - client.loop_forever() + #client.loop_forever() -#logging.basicConfig(filename='/tmp/mqtt_sender.log', level=logging.INFO) -#logging.info('Started mqtt_sender') - -#pid = "/tmp/mqtt_sender.pid" -#daemon = Daemonize(app="mqtt_sender", pid=pid, action=main) -#daemon.start() main()