3.4 KiB
3.4 KiB
HANDOFF_20260419_2053
更新时间:2026-04-19 20:53 CST
本轮完成
- 修复发布打包遗漏:
- 最新发布包现在已包含
domainCheck/ - 最新正式签收包:
domaincheck_release_20260419_205437
- 最新发布包现在已包含
- 修复发布任务观测性:
domain-api/app/services/ops_release_executor_core.py- 发布目录不可写时显式失败
- 增加
ExecStart与current软链对齐观测
domain-api/app/node_agent.py- 增加 job 级兜底异常回写,避免任务假性卡死
- 将卡死的 worker 发布任务纠正为真实失败:
release_id = 6rollout_id = 5job_id = 204- 当前已从假
running回正为failed - 本次失败对应的 Release 版本:
domaincheck_release_20260419_203933
今晚新增关键结论
1. worker 发布失败的真实原因已明确
mainland-worker-01- node-agent 日志:
2026-04-19 20:40:15 [node-agent] loop error: [Errno 13] Permission denied: '/opt/domaincheck/downloads'
- node-agent 日志:
- 对应发布任务:
job 204 = failedrollout 5 = failed
- 当前失败原因已经正式回写:
install_root not writable: /opt/domaincheck/downloads
2. mainland 两台节点都不符合当前 ReleaseHub 发布模型
mainland-worker-01domaincheck-worker当前启动路径:/opt/domaincheck/domainCheck/detect_worker.py
mainland-controller-01domaincheck-worker当前启动路径:/opt/domaincheck/domainCheck/detect_worker.py
这意味着:
- 当前线上服务不是跑在
/opt/domaincheck/current/domainCheck/...
- 所以即使发布成功切了
current软链 - 也不会自动让现有 systemd 服务切到新版本
3. worker 当前不是新版本高吞吐样本
mainland-worker-01Active since = 2026-04-19 18:18:50 CSTMain PID = 635924CPU = 18.994s- 最近日志仍停留在旧代码行号:
_run_detect_register:2465detect_domain:2947start_redis_subscription:3590
说明:
- worker 仍是旧进程
- 当前不能把它当成“已切新包并真实参与高吞吐”的有效证据
结论
当前唯一主阻塞不是前端、不是统计口径、也不是单纯并发参数。
当前唯一主阻塞是:
- mainland 节点
deploy.release目录权限不满足 - mainland 节点
domaincheck-worker的 systemdExecStart与 ReleaseHub 的current发布模型不一致
在这两个问题修正前:
- 不建议继续对 mainland 节点做正式 rollout
- 不建议继续把 worker 统计口径偏差当成纯展示层问题
下一步唯一建议
- 先修 mainland 节点发布基座
- 让 node-agent 对
/opt/domaincheck/downloads、/opt/domaincheck/releases有写权限 - 或明确改成一个 node-agent 真正可写的发布根目录
- 让 node-agent 对
- 再统一
domaincheck-worker.service- 让
ExecStart指向/opt/domaincheck/current/domainCheck/detect_worker.py - 不再直指
/opt/domaincheck/domainCheck/detect_worker.py
- 让
- 完成后重新发起:
- worker rollout
- 验证 PID 切换
- 验证代码行号切换到当前版本
- 再看吞吐和 CPU 利用率
本轮改动文件
package_domain_release.shverify_domain_release.shpackage_domain_release.ps1verify_domain_release.ps1domain-api/app/services/ops_release_executor_core.pydomain-api/app/node_agent.pydocs/ops_center_runtime/TASK_BOARD.mddocs/ops_center_runtime/IMPLEMENTATION_STATUS.md