"""网关健康检查路由""" from fastapi import APIRouter, Depends from app.gateway.container import GatewayContainer from app.gateway.models import GatewayHealthData from app.shared.api import ApiResponse, get_container router = APIRouter(tags=["health"]) @router.get("/health", response_model=ApiResponse[GatewayHealthData]) async def health( container: GatewayContainer = Depends(get_container), ) -> ApiResponse[GatewayHealthData]: """网关健康状态 只做规格 §4.7 的两条兜底告警:worker 失联、任务长时间无人领。 付款期限监控不在网关——本地机 7×24 在线,那套逻辑放本地。 """ data = await container.task_queue.health_snapshot() return ApiResponse[GatewayHealthData]( success=True, msg="success", data=data, code=0 )