diff --git a/lib/tfw/components/process_managing_event_handler.py b/lib/tfw/components/process_managing_event_handler.py index 0685b48..2044a38 100644 --- a/lib/tfw/components/process_managing_event_handler.py +++ b/lib/tfw/components/process_managing_event_handler.py @@ -46,13 +46,12 @@ class ProcessManagingEventHandler(EventHandlerBase): data = message['data'] try: self.processmanager(data['command'], data['process_name']) - message['data']['log'] = self.processmanager.read_stdout(data['process_name']) - return message except SupervisorFault as fault: message['data']['error'] = fault.faultString - message['data']['log'] = self.processmanager.read_stderr(data['process_name']) - return message finally: + message['data']['stdout'] = self.processmanager.read_stdout(data['process_name']) + message['data']['stderr'] = self.processmanager.read_stderr(data['process_name']) self.processmanager.clear_logs(data['process_name']) + return message except KeyError: LOG.error('IGNORING MESSAGE: Invalid message received: %s', message) diff --git a/lib/tfw/mixins/supervisor_mixin.py b/lib/tfw/mixins/supervisor_mixin.py index 4586e85..f9bbd6b 100644 --- a/lib/tfw/mixins/supervisor_mixin.py +++ b/lib/tfw/mixins/supervisor_mixin.py @@ -35,5 +35,8 @@ class SupervisorLogMixin(SupervisorBaseMixin): def clear_logs(self, process_name): for logfile in ('stdout_logfile', 'stderr_logfile'): - remove(self.supervisor.getProcessInfo(process_name)[logfile]) + try: + remove(self.supervisor.getProcessInfo(process_name)[logfile]) + except FileNotFoundError: + pass self.supervisor.clearProcessLogs(process_name)