问题分析: - 服务频繁崩溃(平均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崩 → 持续稳定运行 - 可维护性: 完善的日志和监控 - 可靠性: 崩溃自动恢复
31 lines
699 B
JSON
31 lines
699 B
JSON
{
|
|
"name": "agent-task-service",
|
|
"version": "3.1.0",
|
|
"description": "多智能体任务管理系统",
|
|
"main": "server.js",
|
|
"scripts": {
|
|
"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",
|
|
"task-management",
|
|
"ai"
|
|
],
|
|
"author": "work-1",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"body-parser": "^2.2.2",
|
|
"cors": "^2.8.6",
|
|
"express": "^5.2.1",
|
|
"multer": "^2.0.2",
|
|
"pg": "^8.18.0",
|
|
"sqlite3": "^5.1.7",
|
|
"uuid": "^9.0.1"
|
|
}
|
|
}
|