用途:在服务进程终止前实现优雅关闭,确保在途请求完成、连接关闭、资源释放,避免强制终止造成的数据丢失或请求失败。
主要能力与覆盖内容:资料提供 Express.js 优雅关闭、Kubernetes 感知关闭、Worker 进程关闭、数据库连接池关闭、PM2 优雅关闭、Python/Flask 优雅关闭等参考指南,并给出基于 Express 与 http 模块的最小示例思路:跟踪活动连接、关闭中返回 503、设置关闭超时(示例中为 30000 毫秒)。
适用场景:Kubernetes 或 Docker 部署、滚动更新与发布、服务器重启、负载均衡排空期、零停机部署、PM2 与 systemd 等进程管理器、长时间运行的后台任务、数据库连接清理。
建议做法:处理 SIGTERM 与 SIGINT 信号;立即停止接受新请求;等待在途请求完成;设置合理的关闭超时;正确关闭数据库连接;刷新日志与指标;关闭期间让健康检查失败;测试关闭流程;记录关闭进度;在容器中使用优雅关闭。
应避免:忽略关闭信号;未清理即强制杀进程;设置过长超时;跳过资源清理;忘记关闭连接;无限期阻塞关闭。
用法与限制:资料未提供完整安装命令、依赖版本或具体运行步骤,仅展示部分示例代码与参考指南目录,详细实现需查阅其 references/ 目录中的对应文档。