From c7e0fd8cc6e45dfce7c1156b580fc1d5d13c1c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B5=D0=BD=D0=B8=D1=81=20=D0=9A=D1=80=D0=B8=D0=B2?= =?UTF-8?q?=D0=BE=D1=87=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Thu, 30 Jul 2026 23:16:36 +0700 Subject: [PATCH] fix: add done_callback to SD timer task to catch background errors --- service_desk/handlers.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/service_desk/handlers.py b/service_desk/handlers.py index 84506c8..b4ac2d3 100644 --- a/service_desk/handlers.py +++ b/service_desk/handlers.py @@ -350,6 +350,7 @@ async def sd_module_handler(msg: Message): if "timer_task" in session and not session["timer_task"].done(): session["timer_task"].cancel() session["timer_task"] = asyncio.create_task(_wait_for_attachments_and_create(user_id, session)) + session["timer_task"].add_done_callback(lambda t: _on_sd_timer_done(t, user_id)) sd_workflow_logger.info(f"⏳ [SD] Timer started: waiting {ATTACHMENT_WAIT_TIMEOUT}s for potentially more attachments...") return @@ -366,6 +367,7 @@ async def sd_module_handler(msg: Message): if "timer_task" in session and not session["timer_task"].done(): session["timer_task"].cancel() session["timer_task"] = asyncio.create_task(_wait_for_attachments_and_create(user_id, session)) + session["timer_task"].add_done_callback(lambda t: _on_sd_timer_done(t, user_id)) sd_workflow_logger.info(f"🔄 [SD] Timer reset due to user activity. Waiting another {ATTACHMENT_WAIT_TIMEOUT}s") return @@ -404,3 +406,4 @@ async def sd_module_handler(msg: Message): +