feat: add independent background monitors for RAID/IO/GPU with configurable refresh intervals to eliminate blocking queries

Add RAID_REFRESH_SECONDS/IO_REFRESH_SECONDS/GPU_REFRESH_SECONDS environment variables with default 5 seconds and minimum 2 seconds. Add graphics_cache_lock and graphics_cache global for thread-safe GPU data access. Add io/io_at fields to datastore_cache. Extract refresh_io_status() to update I/O pressure cache. Add refresh_gpu_status() to update graphics_cache. Implement hardware
This commit is contained in:
nessi committed 2026-08-25 20:15:01 +02:00
1 parent 952797005f
commit 83dc8c08ae
3 files changed
+50 -11

No files matched your search

+4
View File
@@ -90,10 +90,14 @@ SCAN_WORKERS=4
REQUEST_TIMEOUT=20
DB_PATH=/data/cache.db
SYNC_INTERVAL_SECONDS=1800
RAID_REFRESH_SECONDS=5
IO_REFRESH_SECONDS=5
GPU_REFRESH_SECONDS=5
```
`SCAN_WORKERS` steuert die Anzahl paralleler `ffprobe`-Jobs. Höhere Werte beschleunigen große Bibliotheken, erhöhen aber die I/O-Last.
`SYNC_INTERVAL_SECONDS` steuert den serverseitigen Sync-Takt; `1800` entspricht 30 Minuten, `18000` fünf Stunden und `0` deaktiviert die periodische Wiederholung (der Start-Sync bleibt aktiv).
RAID, I/O-Pressure und GPU werden unabhängig vom Browser durch eigene Hintergrund-Monitoren aktualisiert. Die Werte werden aus dem Server-Cache geliefert; die drei Intervalle können separat angepasst werden.
## Datastore, RAID und SMART