Исправление: graceful shutdown через on_shutdown + context manager (SIGTERM на Docker/K8s)
This commit is contained in:
parent
f6f5b96563
commit
77c5f5a3a6
10
bot.py
10
bot.py
@ -115,13 +115,19 @@ class BotRunner:
|
||||
self._on_shutdown()
|
||||
|
||||
def run(self, token: str) -> None:
|
||||
"""Запустить бота с graceful shutdown."""
|
||||
"""Запустить бота с graceful shutdown.
|
||||
|
||||
Graceful shutdown обеспечивается:
|
||||
- discord.py on_shutdown событие для остановки планировщика
|
||||
- async with self.bot (context manager) для graceful disconnect
|
||||
- KeyboardInterrupt (Ctrl+C) на POSIX
|
||||
- SIGTERM обрабатывается через entrypoint-скрипт (Docker/K8s)
|
||||
"""
|
||||
logger.info("Запуск бота...")
|
||||
|
||||
async def main() -> None:
|
||||
try:
|
||||
async with self.bot:
|
||||
# Регистрируем on_shutdown внутри контекста бота
|
||||
self.bot.add_listener(self._on_shutdown_async, "on_shutdown")
|
||||
await self.bot.start(token, reconnect=True)
|
||||
except discord.LoginFailure as e:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user