fix: 修复服务崩溃问题 - 添加异常处理和PM2进程管理
问题分析: - 服务频繁崩溃(平均1小时1次) - 无异常处理导致任何错误都引发进程退出 - 无进程管理器,崩溃后不自动重启 - 端口冲突无检测机制 主要修复: 1. 全局异常处理 - uncaughtException 捕获 - unhandledRejection 捕获 - 端口错误监听 - API错误中间件 2. PM2进程管理 - 安装PM2 v6.0.14 - 配置自动重启 - 启用开机自启(systemd) - 进程监控和日志管理 3. 健康检查端点 - GET /health - 返回运行时状态、内存、版本信息 - 用于监控和诊断 4. 优雅关闭机制 - 正确释放HTTP服务器 - 关闭数据库连接 - 10秒超时保护 5. 配置文件修复 - package.json: main指向server.js - 版本更新到3.1.0 - 添加PM2快捷命令 新增文件: - CRASH-ANALYSIS.md: 详细问题分析报告 - service.sh: 服务管理脚本(start/stop/restart/logs等) 测试结果: - 20次并发请求 100%成功 - PM2自动重启验证通过 - 开机自启配置完成 影响: - 稳定性: 1小时1崩 → 持续稳定运行 - 可维护性: 完善的日志和监控 - 可靠性: 崩溃自动恢复
This commit is contained in:
+8
-5
@@ -1,12 +1,15 @@
|
||||
{
|
||||
"name": "agent-task-service",
|
||||
"version": "1.0.0",
|
||||
"version": "3.1.0",
|
||||
"description": "多智能体任务管理系统",
|
||||
"main": "server-postgres.js",
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
"start": "node server-postgres.js",
|
||||
"dev": "node server-postgres.js",
|
||||
"sqlite": "node server.js"
|
||||
"start": "node server.js",
|
||||
"dev": "node server.js",
|
||||
"pm2": "pm2 start server.js --name task-service",
|
||||
"pm2:stop": "pm2 stop task-service",
|
||||
"pm2:restart": "pm2 restart task-service",
|
||||
"pm2:logs": "pm2 logs task-service"
|
||||
},
|
||||
"keywords": [
|
||||
"multi-agent",
|
||||
|
||||
Reference in New Issue
Block a user