''' Created on 20.05.2015 @author: wn ''' from MqttReceiver import MqttReceiver from MongoWriter import MongoWriter import Queue import os import sys from logger import Logger import time DEBUG = True BACKGROUND = False PID_FILE = "/tmp/mqtt2mongo.pid" LOG_FILE = "/tmp/mqtt2mongo.log" BROKER = "mqttbroker" TOPICS = ['IoT/Measurement/#', 'IoT/WiFiPowerMeter/Measurement'] MONGO_HOST = "localhost" MONGO_DATABASE = "iot" MONGO_COLLECTION = "iot" if BACKGROUND: pid = os.fork() else: pid = 0 if pid: pidFile = file(PID_FILE , mode='w') pidFile.write("%i\n" % pid) pidFile.close() sys.exit(0) Logger.openlog(LOG_FILE) if DEBUG: Logger.debugEnable() Logger.log("mqtt2mongo starting") try: queue = Queue.Queue() Logger.log("queue created ...") mongoWriter = MongoWriter(queue, MONGO_HOST, MONGO_DATABASE, MONGO_COLLECTION) mongoWriter.start() Logger.log("MongoWriter started ...") mqttReader = MqttReceiver.create(queue, BROKER, TOPICS) mqttReader.start() Logger.log("MqttReader started ...") Logger.log("mqtt2mongo running") while (True): time.sleep(10) except Exception, e: Logger.log("mqtt2mongo dying from %s, %s" % (str(e), e.msg)) finally: Logger.log("mqtt2mongo terminating ...")