• Stefy Lanza (nextime / spora )'s avatar
    front: serve /admin/api/gpu-stats from the front (keep temps live when an engine is busy) · f5417468
    Stefy Lanza (nextime / spora ) authored
    gpu-stats fell through to the generic proxy, which forwards via the long-timeout
    client to the primary engine. When that engine is saturated generating (sync
    llama.cpp holding its event loop), the request blocked → the dashboard's temp/GPU
    polling hung → the whole web UI went unresponsive and the task page stopped showing
    temperatures.
    
    Serve it from the front instead, using the already torch-free gpu_detect.gpu_stats()
    (nvidia-smi + AMD sysfs, reports every card regardless of CUDA_VISIBLE_DEVICES), run
    in a thread so the subprocess never blocks the front's event loop, and registered
    before the catch-all so it's not proxied to a busy engine. Light auth (session
    cookie / bearer presence) since GPU telemetry is low-sensitivity and full session
    validation lives on the engine — which is the component we're decoupling from.
    
    Note: the thermal THROTTLE (pausing a generation when hot) stays in the engine —
    it must, to pause that engine's own forward pass — but its stats are now front-served.
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    f5417468
app.py 46.3 KB