feat: dashboard UX optimization + real-time backend stats + health probe fix + pool shuffle

- dashboard.html: major UX overhaul (+657/-308 lines)
- server.py: /api/admin/backends now returns real-time RPM and model_count
- pool_manager.py: random.shuffle backends for load distribution
- config.py: health probe endpoint /v1/models → /models
- docker-compose.yml: add SIDECAR_PRIMARY_WAIT_MAX_RETRIES=6

BIZ-52 post-review optimizations
This commit is contained in:
2026-07-03 16:32:42 +08:00
parent 18dfb2901b
commit 8531a3b595
5 changed files with 659 additions and 310 deletions
+3
View File
@@ -1,5 +1,6 @@
"""Provider pool management: primary / fallback pool routing."""
import random
import structlog
from typing import Optional
@@ -42,6 +43,7 @@ class PoolManager:
if pool:
break
random.shuffle(backends)
return backends
def get_any_healthy_backends(self, pool: Optional[str] = None) -> list[Backend]:
@@ -55,6 +57,7 @@ class PoolManager:
backends.append(b)
if pool:
break
random.shuffle(backends)
return backends
def get_pool_status(self) -> dict: