"""健康检查路由""" from fastapi import APIRouter, Depends from app.api.dependencies import get_container from app.core.container import ServiceContainer from app.models.scrape import ApiResponse, HealthData router = APIRouter(tags=["health"]) @router.get("/health", response_model=ApiResponse[HealthData]) async def health(container: ServiceContainer = Depends(get_container)) -> ApiResponse[HealthData]: """服务健康状态 sessions 里给出乐天的 PC / 手机两条抓取通道的 cookie 预热情况,以及 ラクマ 通道的就绪状态(ラクマ 无需预热,只报是否已初始化); browser_fallback_* 反映浏览器兜底当前是否可用(未安装 playwright 时为不可用, 属于预期降级,不影响主链路)。 """ return ApiResponse[HealthData]( success=True, msg="success", data=HealthData( status="ok", browser_fallback_enabled=container.browser_fallback.enabled, browser_fallback_ready=container.browser_fallback.ready, browser_fallback_error=container.browser_fallback.unavailable_reason, sessions={ **container.site_session.profile_status(), "rakuma": container.rakuma_session.status(), }, ), code=0, )