diff --git a/CHANGES/734.bugfix b/CHANGES/734.bugfix new file mode 100644 index 00000000..94a5951f --- /dev/null +++ b/CHANGES/734.bugfix @@ -0,0 +1 @@ +Fixed bot session closing before emit shutdown diff --git a/aiogram/dispatcher/dispatcher.py b/aiogram/dispatcher/dispatcher.py index fa848547..2c78bace 100644 --- a/aiogram/dispatcher/dispatcher.py +++ b/aiogram/dispatcher/dispatcher.py @@ -393,10 +393,12 @@ class Dispatcher(Router): ) await asyncio.gather(*coro_list) finally: - for bot in bots: # Close sessions - await bot.session.close() loggers.dispatcher.info("Polling stopped") - await self.emit_shutdown(**workflow_data) + try: + await self.emit_shutdown(**workflow_data) + finally: + for bot in bots: # Close sessions + await bot.session.close() def run_polling( self,