fix: properly close telegram client session to prevent resource leak (issue #52)
Some checks failed
CI / test (pull_request) Has been cancelled
Some checks failed
CI / test (pull_request) Has been cancelled
Adds telegram.close() to finally block to ensure aiohttp session cleanup. Changes: - src/main.py:553 - Add await telegram.close() in shutdown Before: - broker.close() called ✅ - telegram.close() NOT called ❌ - "Unclosed client session" error on shutdown After: - broker.close() called ✅ - telegram.close() called ✅ - Clean shutdown, no resource leak errors Impact: - Eliminates aiohttp resource leak warnings - Proper cleanup of Telegram API connections - No memory leaks in long-running processes Related: - KISBroker.close() already handles broker session - OverseasBroker reuses KISBroker session (no separate close needed) - TelegramClient has separate session that needs cleanup Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -549,7 +549,9 @@ async def run(settings: Settings) -> None:
|
||||
except TimeoutError:
|
||||
pass # Normal — timeout means it's time for next cycle
|
||||
finally:
|
||||
# Clean up resources
|
||||
await broker.close()
|
||||
await telegram.close()
|
||||
db_conn.close()
|
||||
logger.info("The Ouroboros rests.")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user