Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- async def shutdown(signal, loop):
- logging.info(f"Received exit signal {signal.name}...")
- logging.info("Closing database connections")
- logging.info("Nacking outstanding messages")
- tasks = [t for t in asyncio.all_tasks() if t is not
- asyncio.current_task()]
- [task.cancel() for task in tasks]
- logging.info(f"Cancelling {len(tasks)} outstanding tasks")
- await asyncio.gather(*tasks, return_exceptions=True)
- logging.info(f"Flushing metrics")
- loop.stop()
- def add_signal_handler:
- for s in signals:
- loop.add_signal_handler(s, lambda s=s: asyncio.create_task(shutdown(s, loop)))
Advertisement
Add Comment
Please, Sign In to add comment