Append deployment logs to every response of ProcessManagingEventHandler

This commit is contained in:
Kristóf Tóth
2018-05-24 11:20:00 +02:00
parent 293d7972f1
commit bfd1efa9f9
2 changed files with 21 additions and 9 deletions

View File

@ -13,10 +13,11 @@ LOG = logging.getLogger(__name__)
class ProcessManager(SupervisorMixin):
def __init__(self):
self.commands = {'start': self.start_process,
'stop': self.stop_process,
'restart': self.restart_process,
'readlog': self.read_log}
self.commands = {'start': self.start_process,
'stop': self.stop_process,
'restart': self.restart_process,
'readlog': self.read_log_stdout,
'readerrlog': self.read_log_stderr}
def __call__(self, command, process_name):
return self.commands[command](process_name)
@ -46,10 +47,11 @@ class ProcessManagingEventHandler(EventHandlerBase):
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
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(message['data']['process_name'])
message['data']['log'] = self.processmanager.read_log_stderr(message['data']['process_name'])
return message