Separate log clearing from reading

This commit is contained in:
Kristóf Tóth
2018-05-28 15:02:53 +02:00
parent 44df95a434
commit 1a93dad562
2 changed files with 14 additions and 16 deletions

View File

@ -44,12 +44,15 @@ class ProcessManagingEventHandler(EventHandlerBase):
def handle_event(self, message):
try:
data = message['data']
self.processmanager(data['command'], data['process_name'])
message['data']['log'] = self.processmanager.read_log_stdout(message['data']['process_name'])
return message
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:
self.processmanager.clear_logs(data['process_name'])
except KeyError:
LOG.error('IGNORING MESSAGE: Invalid message received: %s', message)
except SupervisorFault as fault:
message['data']['error'] = fault.faultString
message['data']['log'] = self.processmanager.read_log_stderr(message['data']['process_name'])
return message