19 lines
668 B
Python
19 lines
668 B
Python
|
|
from fastapi import APIRouter, WebSocket, WebSocketDisconnect
|
||
|
|
|
||
|
|
from app.services.websocket_manager import manager
|
||
|
|
|
||
|
|
router = APIRouter()
|
||
|
|
|
||
|
|
|
||
|
|
@router.websocket("/ws/positions")
|
||
|
|
async def websocket_endpoint(websocket: WebSocket):
|
||
|
|
"""WebSocket эндпоинт для получения обновлений позиций в реальном времени"""
|
||
|
|
await manager.connect(websocket)
|
||
|
|
try:
|
||
|
|
while True:
|
||
|
|
# Keep connection alive, wait for messages (ping/pong)
|
||
|
|
data = await websocket.receive_text()
|
||
|
|
# Can handle client messages here if needed
|
||
|
|
except WebSocketDisconnect:
|
||
|
|
manager.disconnect(websocket)
|