except KeyboardInterrupt: payment_system.logger.info("Shutting down...") loop = asyncio.get_event_loop() pending_tasks = [task for task in asyncio.all_tasks(loop) if task is not asyncio.current_task(loop)] for task in pending_tasks: task.cancel() loop.run_until_complete(asyncio.gather(*pending_tasks, return_exceptions=True)) loop.run_until_complete(loop.shutdown_asyncgens()) loop.close()