From 1128f25cee4ec828ceb902535c73fbcac2ed6142 Mon Sep 17 00:00:00 2001 From: Lilith Date: Sun, 15 Feb 2026 09:04:17 -0800 Subject: [PATCH] =?UTF-8?q?chore(src):=20=F0=9F=94=A7=20refactor=20core=20?= =?UTF-8?q?logic=20in=20main.py=20for=20improved=20performance=20and=20bug?= =?UTF-8?q?=20resolution?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../conversation-assistant/ml-service/src/main.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/features/conversation-assistant/ml-service/src/main.py b/features/conversation-assistant/ml-service/src/main.py index 61fe376e9..7de78a7df 100755 --- a/features/conversation-assistant/ml-service/src/main.py +++ b/features/conversation-assistant/ml-service/src/main.py @@ -348,8 +348,15 @@ async def create_app(): ), ) -# Initialize app at module level for uvicorn string loading -app = asyncio.run(create_app()) +# Initialize app at module level for uvicorn string loading. +# asyncio.run() fails when uvicorn already has a running event loop (uvloop), +# so fall back to a temporary loop for synchronous module-level initialization. +try: + app = asyncio.run(create_app()) +except RuntimeError: + _loop = asyncio.new_event_loop() + app = _loop.run_until_complete(create_app()) + _loop.close() # Apply logging route class to all routes app.router.route_class = LoggingRoute