[ { "time": "2026-10-02T11:15:34.439Z", "path": "/api/app/update-jobs", "status": 200, "value": { "status": "success", "data": [], "message": "success" } }, { "time": "2026-10-02T11:22:54.730Z", "path": "/api/app/update-jobs", "status": 500, "value": { "statusCode": 500, "timestamp": "2026-10-02T11:22:54.644Z", "path": "/app/update-jobs?active=true&limit=1", "message": "getaddrinfo EAI_AGAIN easyai-updater", "traceId": "yGyuK8eBkaXeNsMy", "appVersion": "3.22.0.20261002.1", "diagnosticCode": "RequestError" } }, { "time": "2026-10-02T11:23:20.074Z", "path": "/api/app/update-capabilities", "status": 200, "value": { "status": "success", "data": { "mode": "legacy_watchtower", "jobApi": false, "executorReachable": false }, "message": "success" } }, { "time": "2026-10-02T11:23:26.733Z", "path": "/api/app/update", "status": 502 }, { "time": "2026-10-02T11:23:28.856Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:30.935Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:33.033Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:35.153Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:37.254Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:39.392Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:41.490Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:43.622Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:45.733Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:47.824Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:49.905Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:51.995Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:54.094Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:56.194Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:23:58.414Z", "path": "/api/health/update-ready", "status": 502 }, { "time": "2026-10-02T11:24:20.993Z", "path": "/api/health/update-ready", "status": 200, "value": { "status": "ok", "service": "easyai-server-main", "version": "3.22.0.20261002.2", "buildId": "3.22.0.20261002.2", "timestamp": "2026-10-02T11:24:20.920Z", "uptime": 42.086032874, "dependencies": { "mongo": "ok", "redis": "ok", "rabbitmq": "ok" } } }, { "time": "2026-10-02T11:25:52.477Z", "path": "/api/app/update-jobs", "status": 200, "value": { "status": "success", "data": [], "message": "success" } }, { "time": "2026-10-02T11:25:58.757Z", "path": "/api/app/update-capabilities", "status": 200, "value": { "status": "success", "data": { "mode": "legacy_watchtower", "executor": "watchtower", "jobApi": true, "eventApi": true, "realtime": true, "executorReachable": true }, "message": "success" } }, { "time": "2026-10-02T11:25:58.910Z", "path": "/api/app/update-jobs", "status": 201, "value": { "status": "success", "data": { "id": "wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "idempotencyKey": "9bb11e4f-924a-4fd5-a501-86150a35e147", "action": "update", "source": "manual", "executor": "watchtower", "status": "queued", "phase": "queued", "message": "更新任务已保存,正在提交更新请求", "previousVersion": "3.22.0.20261002.1", "productVersion": "3.22.0.20261002.2", "createdAt": "2026-10-02T11:25:58.856Z", "updatedAt": "2026-10-02T11:25:58.856Z", "startedAt": "2026-10-02T11:25:58.856Z", "steps": [ { "id": "queued", "title": "提交请求", "status": "running", "startedAt": "2026-10-02T11:25:58.856Z" }, { "id": "applying", "title": "执行更新", "status": "pending" }, { "id": "verifying", "title": "等待服务恢复", "status": "pending" }, { "id": "finished", "title": "确认版本", "status": "pending" } ], "components": [] }, "message": "success" } }, { "time": "2026-10-02T11:25:59.020Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 200 }, { "time": "2026-10-02T11:26:01.059Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 200, "value": { "status": "success", "data": { "id": "wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "idempotencyKey": "9bb11e4f-924a-4fd5-a501-86150a35e147", "action": "update", "source": "manual", "executor": "watchtower", "status": "running", "phase": "applying", "message": "更新服务已开始执行,正在检查、下载并更新服务", "previousVersion": "3.22.0.20261002.1", "productVersion": "3.22.0.20261002.2", "createdAt": "2026-10-02T11:25:58.856Z", "updatedAt": "2026-10-02T11:25:58.893Z", "startedAt": "2026-10-02T11:25:58.856Z", "steps": [ { "id": "queued", "title": "提交请求", "status": "completed", "startedAt": "2026-10-02T11:25:58.856Z", "finishedAt": "2026-10-02T11:25:58.893Z" }, { "id": "applying", "title": "执行更新", "status": "running", "startedAt": "2026-10-02T11:25:58.893Z" }, { "id": "verifying", "title": "等待服务恢复", "status": "pending" }, { "id": "finished", "title": "确认版本", "status": "pending" } ], "components": [] }, "message": "success" } }, { "time": "2026-10-02T11:26:01.259Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 200 }, { "time": "2026-10-02T11:26:03.159Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:03.288Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:05.239Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:05.338Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:07.353Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:07.462Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:09.548Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:09.746Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:11.619Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:11.842Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:13.722Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:13.978Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:15.817Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:15.916Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:17.930Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:18.136Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:20.053Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:20.233Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:22.159Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:22.331Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:24.287Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:24.428Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:26.401Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:26.647Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:26:28.491Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 502 }, { "time": "2026-10-02T11:26:28.654Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a/events", "status": 502 }, { "time": "2026-10-02T11:27:02.209Z", "path": "/api/app/update-jobs/wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "status": 200, "value": { "status": "success", "data": { "id": "wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a", "idempotencyKey": "9bb11e4f-924a-4fd5-a501-86150a35e147", "action": "update", "source": "manual", "executor": "watchtower", "status": "succeeded", "phase": "finished", "message": "更新完成,目标版本和核心服务均已确认可用", "previousVersion": "3.22.0.20261002.1", "productVersion": "3.22.0.20261002.2", "createdAt": "2026-10-02T11:25:58.856Z", "updatedAt": "2026-10-02T11:26:41.594Z", "startedAt": "2026-10-02T11:25:58.856Z", "steps": [ { "id": "queued", "title": "提交请求", "status": "completed", "startedAt": "2026-10-02T11:25:58.856Z", "finishedAt": "2026-10-02T11:25:58.893Z" }, { "id": "applying", "title": "执行更新", "status": "completed", "startedAt": "2026-10-02T11:25:58.893Z", "finishedAt": "2026-10-02T11:26:39.560Z" }, { "id": "verifying", "title": "等待服务恢复", "status": "completed", "startedAt": "2026-10-02T11:26:39.560Z", "finishedAt": "2026-10-02T11:26:41.594Z" }, { "id": "finished", "title": "确认版本", "status": "completed", "startedAt": "2026-10-02T11:26:41.594Z", "finishedAt": "2026-10-02T11:26:41.594Z" } ], "components": [], "finishedAt": "2026-10-02T11:26:41.594Z" }, "message": "success" } } ]