class DeployHandler: keys = ['deploy.start', 'process.restart'] def __init__(self, process_name='webservice'): self.process_name = process_name self.commands = { 'deploy.start': self.handle_deploy, 'process.restart': self.handle_process } def handle_event(self, message, _): try: self.commands[message['key']](message) except KeyError: LOG.error('IGNORING MESSAGE: Invalid message received: %s', message) def handle_deploy(self, message): self.connector.send_message({ 'key': 'process.restart', 'name': self.process_name }) def handle_process(self, message): self.connector.send_message({ 'key': 'deploy.finish', 'status': 'success' if 'error' not in message else 'error' })