Files
getDomain/docs/ops_center_runtime/HANDOFF_20260419_2053.md
Your Name 7cbde2aa78 d
2026-04-22 14:13:21 +08:00

108 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 = 6`
- `rollout_id = 5`
- `job_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'`
- 对应发布任务:
- `job 204 = failed`
- `rollout 5 = failed`
- 当前失败原因已经正式回写:
- `install_root not writable: /opt/domaincheck/downloads`
### 2. mainland 两台节点都不符合当前 ReleaseHub 发布模型
- `mainland-worker-01`
- `domaincheck-worker` 当前启动路径:
- `/opt/domaincheck/domainCheck/detect_worker.py`
- `mainland-controller-01`
- `domaincheck-worker` 当前启动路径:
- `/opt/domaincheck/domainCheck/detect_worker.py`
这意味着:
- 当前线上服务不是跑在
- `/opt/domaincheck/current/domainCheck/...`
- 所以即使发布成功切了 `current` 软链
- 也不会自动让现有 systemd 服务切到新版本
### 3. worker 当前不是新版本高吞吐样本
- `mainland-worker-01`
- `Active since = 2026-04-19 18:18:50 CST`
- `Main PID = 635924`
- `CPU = 18.994s`
- 最近日志仍停留在旧代码行号:
- `_run_detect_register:2465`
- `detect_domain:2947`
- `start_redis_subscription:3590`
说明:
- worker 仍是旧进程
- 当前不能把它当成“已切新包并真实参与高吞吐”的有效证据
## 结论
当前唯一主阻塞不是前端、不是统计口径、也不是单纯并发参数。
当前唯一主阻塞是:
- mainland 节点 `deploy.release` 目录权限不满足
- mainland 节点 `domaincheck-worker` 的 systemd `ExecStart` 与 ReleaseHub 的 `current` 发布模型不一致
在这两个问题修正前:
- 不建议继续对 mainland 节点做正式 rollout
- 不建议继续把 worker 统计口径偏差当成纯展示层问题
## 下一步唯一建议
1. 先修 mainland 节点发布基座
- 让 node-agent 对 `/opt/domaincheck/downloads``/opt/domaincheck/releases` 有写权限
- 或明确改成一个 node-agent 真正可写的发布根目录
2. 再统一 `domaincheck-worker.service`
-`ExecStart` 指向 `/opt/domaincheck/current/domainCheck/detect_worker.py`
- 不再直指 `/opt/domaincheck/domainCheck/detect_worker.py`
3. 完成后重新发起:
- worker rollout
- 验证 PID 切换
- 验证代码行号切换到当前版本
- 再看吞吐和 CPU 利用率
## 本轮改动文件
- `package_domain_release.sh`
- `verify_domain_release.sh`
- `package_domain_release.ps1`
- `verify_domain_release.ps1`
- `domain-api/app/services/ops_release_executor_core.py`
- `domain-api/app/node_agent.py`
- `docs/ops_center_runtime/TASK_BOARD.md`
- `docs/ops_center_runtime/IMPLEMENTATION_STATUS.md`