SuperAPI AI 工具集

health-check

通用与其它

查看项目

更新于 10-15 19:50

技能介绍

用途:为 NodeJS-Starter-V1 的 Next.js 与 FastAPI 服务规范健康检查端点,覆盖三层探针架构、Docker healthcheck、cron 周期监控、路由发现验证与系统健康脚本。

主要能力:三层探针分离——存活(进程是否存活)、就绪(能否接收流量)、深度(全部依赖是否健康),不可合并。依赖并行检查(Promise.all 或 asyncio.gather),每项超时 5 秒并测量延迟。状态模型为 healthy/degraded 返回 200,unhealthy 返回 503;聚合规则:任一依赖 unhealthy 则整体 unhealthy,否则任一 degraded 则整体 degraded,否则 healthy。

现有端点:后端 GET /health(存活)、GET /ready(就绪)、GET /api/agents/{id}/health;前端 GET /api/health(浅存活)、GET /api/health/deep(深度依赖)、GET /api/health/routes(路由发现)、GET /api/cron/health-check(周期 cron,每 5 分钟,用 CRON_SECRET 鉴权)。Docker 中 PostgreSQL 用 pg_isready -U starter_user -d starter_db,Redis 用 redis-cli ping,间隔 10s、超时 5s、重试 5 次;应用容器用 curl -f http://localhost:8000/health,并设 start_period。系统脚本 scripts/health-check.ps1 执行 6 阶段检查,退出码 0 健康、1 不健康。

使用方式:新增依赖时按模板编写检查器并加入深度端点的 Promise.all 数组;新增周期检查时校验 CRON_SECRET、测量延迟、记录日志并在不健康时告警。

限制与反模式:存活探针不得查数据库;不得串行检查依赖;不健康必须返回 503;每项检查必须设超时;响应不得暴露敏感细节;Docker 需设 start_period;服务 URL 用环境变量而非硬编码。指标采集、结构化日志、优雅关闭等应使用对应技能,不属本技能范围。