mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
server: fixes websocket preventing server to stop
This commit is contained in:
@@ -1,11 +1,16 @@
|
|||||||
from fastapi import APIRouter, HTTPException, Request, WebSocket, WebSocketDisconnect
|
from fastapi import (
|
||||||
|
APIRouter,
|
||||||
|
HTTPException,
|
||||||
|
Request,
|
||||||
|
WebSocket,
|
||||||
|
WebSocketDisconnect,
|
||||||
|
)
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
from uuid import UUID, uuid4
|
from uuid import UUID, uuid4
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi_pagination import Page, paginate
|
from fastapi_pagination import Page, paginate
|
||||||
from reflector.logger import logger
|
from reflector.logger import logger
|
||||||
from .rtc_offer import rtc_offer_base, RtcOffer, PipelineEvent
|
from .rtc_offer import rtc_offer_base, RtcOffer, PipelineEvent
|
||||||
import asyncio
|
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
@@ -239,8 +244,8 @@ async def transcript_events_websocket(transcript_id: UUID, websocket: WebSocket)
|
|||||||
# endless loop to wait for new events
|
# endless loop to wait for new events
|
||||||
try:
|
try:
|
||||||
while True:
|
while True:
|
||||||
await asyncio.sleep(42)
|
await websocket.receive()
|
||||||
except WebSocketDisconnect:
|
except (RuntimeError, WebSocketDisconnect):
|
||||||
ws_manager.disconnect(transcript_id, websocket)
|
ws_manager.disconnect(transcript_id, websocket)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user