Merge pull request #13306 from tarmst/remove-blocking-websocket-awaits
Some checks are pending
Deploy to HuggingFace Spaces / check-secret (push) Waiting to run
Deploy to HuggingFace Spaces / deploy (push) Blocked by required conditions
Create and publish Docker images with specific build args / build-main-image (linux/amd64) (push) Waiting to run
Create and publish Docker images with specific build args / build-main-image (linux/arm64) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64) (push) Waiting to run
Create and publish Docker images with specific build args / merge-main-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-cuda-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-ollama-images (push) Blocked by required conditions
Python CI / Format Backend (3.11.x) (push) Waiting to run
Python CI / Format Backend (3.12.x) (push) Waiting to run
Frontend Build / Format & Build Frontend (push) Waiting to run
Frontend Build / Frontend Unit Tests (push) Waiting to run

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: emit_tasks = [sio.emit(
await sio.emit( "chat-events",
"chat-events", {
{ "chat_id": request_info.get("chat_id", None),
"chat_id": request_info.get("chat_id", None), "message_id": request_info.get("message_id", None),
"message_id": request_info.get("message_id", None), "data": event_data,
"data": event_data, },
}, to=session_id,
to=session_id, )
) for session_id in session_ids]
await asyncio.gather(*emit_tasks)
if update_db: if update_db:
if "type" in event_data and event_data["type"] == "status": if "type" in event_data and event_data["type"] == "status":