mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 20:35:19 +00:00
UPD: ExceptionGroup catch - update main.py
ExceptionGroup catch - update main.py for catch and handle multiple concurrent exceptions Add caching for concurrent exceptions. Modified: - redis_task_command_listener
This commit is contained in:
parent
631d4441aa
commit
aa5f5330d3
1 changed files with 13 additions and 2 deletions
|
|
@ -578,8 +578,19 @@ async def lifespan(app: FastAPI):
|
|||
|
||||
yield
|
||||
|
||||
if hasattr(app.state, "redis_task_command_listener"):
|
||||
app.state.redis_task_command_listener.cancel()
|
||||
# In the lifespan shutdown
|
||||
if hasattr(app.state, "redis_task_command_listener"):
|
||||
try:
|
||||
app.state.redis_task_command_listener.cancel()
|
||||
await app.state.redis_task_command_listener
|
||||
except ExceptionGroup as eg:
|
||||
log.error(f"Multiple errors during listener shutdown: {len(eg.exceptions)} exceptions")
|
||||
for exc in eg.exceptions:
|
||||
log.error(f"Shutdown error: {type(exc).__name__}: {exc}")
|
||||
except asyncio.CancelledError:
|
||||
pass # Expected during shutdown
|
||||
except Exception as e:
|
||||
log.error(f"Error during listener shutdown: {e}")
|
||||
|
||||
|
||||
app = FastAPI(
|
||||
|
|
|
|||
Loading…
Reference in a new issue