from tfw.event_handler_base import EventHandlerBase from tfw.components.mixins import SupervisorMixin class ProcessManagingEventHandler(EventHandlerBase, SupervisorMixin): def __init__(self, anchor, supervisor_process_name): super().__init__(anchor) self.process = supervisor_process_name self.commands = {'start': self.start_process, 'stop': self.stop_process, 'restart': self.restart_process} def handle_event(self, anchor, data_json): data = data_json['data'] self.commands[data['command']]()