iiotfeeder2/src/SlaveHandler.py

34 lines
1.1 KiB
Python
Raw Normal View History

2021-11-09 17:40:13 +01:00
from queue import Queue
from loguru import logger
from GenericMqttSubscriber import GenericMqttSubscriber
from GenericSinkHandler import GenericSinkHandler
class SlaveHandler(object):
def __init__(self, config, name, experiment):
self.config = config
self.name = name
queue = Queue()
self.mqttHandler = GenericMqttSubscriber(config, self.name, queue)
self.sinkHandler = GenericSinkHandler(config, queue, experiment)
def start(self):
logger.info(f"Starting slave handler {self.name}")
self.mqttHandler.start()
logger.debug("mqtt handler running")
self.sinkHandler.start()
logger.debug("sink handler running")
def stop(self):
logger.info(f"Stopping slave handler {self.name}")
self.mqttHandler.stop()
logger.info("mqtt handler stopped")
self.mqttHandler.join()
logger.info("mqtt handler joined")
self.sinkHandler.stop()
logger.info("sink handler stopped")
self.sinkHandler.join()
logger.info("sink handler joined")