def kill_children(signal, frame): log.error( 'Received a signal that is trying to terminate this process.' ' Terminating mesos and relay child processes!', extra=dict( mesos_framework_name=ns.mesos_framework_name, signal=signal)) try: mesos.terminate() log.info( 'terminated mesos scheduler', extra=dict(mesos_framework_name=ns.mesos_framework_name)) except: log.exception( 'could not terminate mesos scheduler', extra=dict(mesos_framework_name=ns.mesos_framework_name)) try: relay.terminate() log.info( 'terminated relay', extra=dict(mesos_framework_name=ns.mesos_framework_name)) except: log.exception( 'could not terminate relay', extra=dict(mesos_framework_name=ns.mesos_framework_name)) sys.exit(1)
def f(*args, **kwargs): try: func(*args, **kwargs) except Exception as e: log.exception(e) exception_sender.send(e)