61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
import CmdServer
|
|
import MqttProcessor
|
|
import CommunicationProcessor
|
|
import MyPriorityQueue
|
|
from queue import Queue
|
|
import NotificationForwarder
|
|
import Config
|
|
import ScanRateConsideringQueueFeeder
|
|
import datetime
|
|
import RegisterDatapoint
|
|
import pickle
|
|
import logging
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
config = Config.Config()
|
|
|
|
logger = logging.getLogger()
|
|
logger.setLevel(logging.DEBUG)
|
|
fh = logging.FileHandler(config.logFile)
|
|
fh.setLevel(logging.DEBUG)
|
|
ch = logging.StreamHandler()
|
|
ch.setLevel(logging.ERROR)
|
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
fh.setFormatter(formatter)
|
|
ch.setFormatter(formatter)
|
|
logger.addHandler(fh)
|
|
logger.addHandler(ch)
|
|
|
|
queue = MyPriorityQueue.MyPriorityQueue()
|
|
pubQueue = Queue()
|
|
nf = NotificationForwarder.NotificationForwarder()
|
|
logger.debug('infrastructure prepared')
|
|
|
|
|
|
datapoints = None
|
|
with open(config.registerFile, 'rb') as f:
|
|
datapoints = pickle.load(f)
|
|
RegisterDatapoint.checkRegisterList(datapoints, reset=True)
|
|
logger.debug('datapoints read')
|
|
|
|
cp = CommunicationProcessor.CommunicationProcessor(config, queue, pubQueue)
|
|
cp.start()
|
|
logger.debug('CommunicationProcessor started')
|
|
|
|
mp = MqttProcessor.MqttProcessor(config, datapoints, queue, pubQueue)
|
|
nf.register(mp)
|
|
mp.start()
|
|
logger.debug('MqttProcessor started')
|
|
|
|
qf = ScanRateConsideringQueueFeeder.ScanRateConsideringQueueFeeder(config, datapoints, queue)
|
|
nf.register(qf)
|
|
qf.start()
|
|
logger.debug('ScanRateConsideringQueueFeeder started')
|
|
|
|
cs = CmdServer.CmdServer(config, nf, datapoints)
|
|
cs.start()
|
|
logger.debug('CmdServer started')
|