finally: finally

This commit is contained in:
AF 2022-11-04 08:53:08 +00:00
parent 096314b9bb
commit bb8da9d2b6

View File

@ -6,6 +6,7 @@ import discord
def serve(main, client: discord.Client, loop: asyncio.AbstractEventLoop): def serve(main, client: discord.Client, loop: asyncio.AbstractEventLoop):
async def aclose(): async def aclose():
if not client.is_closed():
await client.change_presence(status=discord.Status.offline) await client.change_presence(status=discord.Status.offline)
await client.close() await client.close()
@ -16,10 +17,11 @@ def serve(main, client: discord.Client, loop: asyncio.AbstractEventLoop):
loop.create_task(aclose()) loop.create_task(aclose())
signal.signal(signal.SIGTERM, sigtermed) signal.signal(signal.SIGTERM, sigtermed)
task = loop.create_task(main())
try: try:
loop.run_until_complete(main) loop.run_until_complete(task)
except (KeyboardInterrupt, InterruptedError, RuntimeError): except (KeyboardInterrupt, InterruptedError, RuntimeError):
pass close()
finally: loop.run_until_complete(task)
if not client.is_closed(): finally:
close() close()