"""健康检查接口:返回服务状态和浏览器池信息""" from fastapi import APIRouter, Depends from app.api.dependencies import get_container, require_bearer_token from app.core.container import ServiceContainer from app.models.scrape import ApiResponse, HealthData router = APIRouter(tags=["health"]) @router.get("/health", response_model=ApiResponse[HealthData], dependencies=[Depends(require_bearer_token)]) async def health(container: ServiceContainer = Depends(get_container)) -> ApiResponse[HealthData]: """健康检查接口 返回浏览器池状态、Redis 连接状态和当前活跃会话等信息。 """ session = await container.session_store.get_session("www.suruga-ya.jp:search") data = HealthData( status="ok" if container.browser_pool.ready else "degraded", browser_enabled=container.settings.browser_enabled, browser_ready=container.browser_pool.ready, browser_startup_error=container.browser_pool.startup_error, redis_enabled=container.session_store.redis_enabled, active_session_id=session.session_id if session else None, ) return ApiResponse[HealthData]( success=True, msg="success", data=data, code=0, )