Files
TuxDMX-WebUI/backend/app/websocket/router.py
T
thomas 1f110866f5
CI / backend (pull_request) Canceled after 0s
CI / shell (pull_request) Canceled after 0s
CI / frontend (pull_request) Canceled after 0s
CI / arm64-smoke (pull_request) Canceled after 0s
CI / backend (push) Canceled after 0s
CI / shell (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / arm64-smoke (push) Canceled after 0s
Update docs and screenshots
2026-07-25 10:26:29 +02:00

28 lines
783 B
Python

from __future__ import annotations
import asyncio
from fastapi import APIRouter, WebSocket, WebSocketDisconnect
from app.core.dependencies import app_state
websocket_router = APIRouter()
@websocket_router.websocket("/ws/live")
async def live_socket(websocket: WebSocket) -> None:
await websocket.accept()
try:
while True:
await websocket.send_json(
{
"engine": app_state.engine.snapshot(),
"telemetry": app_state.telemetry.snapshot(len(app_state.triggers.queue)),
"bpm": app_state.bpm.snapshot(),
"queue": app_state.triggers.snapshot(),
}
)
await asyncio.sleep(0.1)
except WebSocketDisconnect:
return