try: clientDB.write_points(post) log.debug(msg.topic + " " + str(msg.payload) + " posted") except requests.exceptions.ConnectionError: log.error("ConnectionError sample skipped " + msg.topic) except influxdb.exceptions.InfluxDBServerError: log.error("InfluxDBServerError sample skipped " + msg.topic) except influxdb.exceptions.InfluxDBClientError as e: log.error("InfluxDBClientError with " + msg.topic + " : " + str(msg.payload) + " >>> " + str(e)) except ValueError: log.error(" ValueError with : " + msg.topic + " " + str(msg.payload)) # -------------------- main -------------------- config = cfg.configure_log(__file__) # -------------------- influxDB client -------------------- clientDB = InfluxDBClient(config["influxdb"]["host"], config["influxdb"]["port"], 'root', 'root', config["influxdb"]["db"]) #clientDB.create_database(config["influxdb"]["db"]) # -------------------- Mqtt Client -------------------- #will start a separate thread for looping clientMQTT = mqtt_start(config, mqtt_on_message, True) while (True): sleep(0.2) #The MQTT keeps looping on a thead #All there is to do here is not to exit
except socket.error: log.error("socket.error will try a reconnection in 10 s") sleep(10) return cid = config["mqtt"]["client_id"] +"_"+socket.gethostname() client = mqtt.Client(client_id=cid) clientMQTT = mqtt.Client() clientMQTT.on_connect = on_connect clientMQTT.on_message = on_message mqtt_connect_retries(clientMQTT) clientMQTT.loop_start() return clientMQTT # -------------------- main -------------------- config = cfg.get_local_json() cfg.configure_log(config["log"]) log.info("ruler started @ :"+str(datetime.datetime.utcnow())) #will start a separate thread for looping clientMQTT = mqtt_start() #loop forever ruler_loop_forever()