From a50a173f546aabae8ba878681489e43553d4e168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Fri, 16 Feb 2018 12:07:16 +0100 Subject: [PATCH] Implement ProcessManagingEventHandler --- .../components/process_managing_event_handler.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/tfw/components/process_managing_event_handler.py diff --git a/lib/tfw/components/process_managing_event_handler.py b/lib/tfw/components/process_managing_event_handler.py new file mode 100644 index 0000000..8fd1bea --- /dev/null +++ b/lib/tfw/components/process_managing_event_handler.py @@ -0,0 +1,15 @@ +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']]()