Spaces:
Configuration error
Configuration error
| """ | |
| backend/api/grid_status.py — Grid Status Endpoint (S766-GRID-3) | |
| Endpoint per monitorare lo stato della Grid Orchestration: | |
| - Health dei provider per ogni profilo | |
| - Stato di sincronizzazione Supabase | |
| - Metriche di carico e performance | |
| """ | |
| from fastapi import APIRouter, Request | |
| from .global_state_sync import get_global_state_sync | |
| from ..models.grid_router import get_grid_router | |
| import time | |
| router = APIRouter() | |
| async def grid_health(): | |
| """ | |
| Restituisce lo stato di salute della Grid. | |
| Metriche per ogni provider/profilo. | |
| """ | |
| grid_router = get_grid_router() | |
| health = await grid_router.get_health_status() | |
| return { | |
| "status": "ok", | |
| "grid_enabled": grid_router._enabled, | |
| "providers": health, | |
| "timestamp": int(time.time() * 1000), | |
| } | |
| async def grid_sync_status(): | |
| """ | |
| Restituisce lo stato di sincronizzazione Supabase tra i profili. | |
| """ | |
| sync = get_global_state_sync() | |
| supabase_status = await sync.get_health_status() | |
| return { | |
| "status": "ok", | |
| "sync_enabled": sync._enabled, | |
| "supabase_profiles": supabase_status, | |
| "timestamp": int(time.time() * 1000), | |
| } | |
| async def grid_full_status(): | |
| """ | |
| Restituisce lo stato completo della Grid (provider + sync). | |
| """ | |
| grid_router = get_grid_router() | |
| sync = get_global_state_sync() | |
| provider_health = await grid_router.get_health_status() | |
| supabase_status = await sync.get_health_status() | |
| return { | |
| "status": "ok", | |
| "grid": { | |
| "enabled": grid_router._enabled, | |
| "providers": provider_health, | |
| }, | |
| "sync": { | |
| "enabled": sync._enabled, | |
| "supabase_profiles": supabase_status, | |
| }, | |
| "timestamp": int(time.time() * 1000), | |
| } | |