Merge pull request #13306 from tarmst/remove-blocking-websocket-awaits

Perf: Chat Websocket Sequential Awaits
This commit is contained in:
Tim Jaeryang Baek 2025-04-28 11:17:50 -07:00 committed by GitHub
commit f7f3ae7cc9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -314,16 +314,18 @@ def get_event_emitter(request_info, update_db=True):
)
)
for session_id in session_ids:
await sio.emit(
"chat-events",
{
"chat_id": request_info.get("chat_id", None),
"message_id": request_info.get("message_id", None),
"data": event_data,
},
to=session_id,
)
emit_tasks = [sio.emit(
"chat-events",
{
"chat_id": request_info.get("chat_id", None),
"message_id": request_info.get("message_id", None),
"data": event_data,
},
to=session_id,
)
for session_id in session_ids]
await asyncio.gather(*emit_tasks)
if update_db:
if "type" in event_data and event_data["type"] == "status":