DS
Size: a a a
DS
SK
SK
DS
SK
DS
DS
SK
A
DS
A
task = asyncio.create_task(<твоя корутина>)
...
task.cancel()
A
A
A
DS
async def db_query(date):
pass
@router.websocket(path="")
async def websocket_endpoint(
websocket: WebSocket,
postgres_session=Depends(database.get_db),
):
try:
await ws_manager.connect(websocket)
while True:
data = await websocket.receive_text()
try: # If task not exists still
task.cancel()
except Exception as e:
pass
task = asyncio.create_task(await db_query(data))
result = await asyncio.gather(*[task])
return await websocket.send_text(result)
except WebSocketDisconnect:
ws_manager.disconnect(websocket)
A
A
task = asyncio.create_task(await db_query(data))
result = await task
DS
YV