chore(工作区): 第 36 棒续作收口(A2 实例进程内面达成 · A8 改判)
- 拍板①「A」:实例一直在跑(实时视图 running@20001);进程内 /mcn/api/accounts 200 · total:5 ⇒ A2 实例进程内面达成。纠正上一棒:其判「stopped」所据 PG dsh_instances.status 是滞后失真 - 拍板②「worker 用插件更新机制」:机制已落地且在跑(agent POST /shared-layer/pull + 定时轮询) 真机对账快照 w-106 @23:52:11:stale:[mcn-suite] + failed:[timeout] ⇒ 106 自主拉取成立、该件拉取超时失败 ⇒ A8 由「未取证」改判为「机制在跑 · 该件超时」 - 平台侧问题(拉取超时 / 台账滞后)只报告不改码 - 收尾:R4 临时会话 DELETED=1 / POC_LEFT=0;未启动未停止任何实例
This commit is contained in:
1 parent
6ece092782
commit
df876aec90
4 files changed
+145
No files matched your search
@@ -13,3 +13,40 @@
|
||||
- **收尾**:R10 `ROOT_OWNED_COUNT=0`;R4 临时会话 `DELETED=5`/`POC_LEFT=0`;47 `/tmp/p36*` 清零;本线域锁已释放;本 automation 置 `PAUSED`;⛔ 未登记第 37 棒(撞待拍板 2 项)。
|
||||
- **交付件**:`$WS/交付物/MCN数据面接入-阶段二-切档与收口-20260925.md`;入口 `§0`/`§2` + `05-交接单/README.md §一` 已更新。
|
||||
- **教训(下棒必看)**:① `node -e` 的 pg 探针会挂住并泄漏连接(累积 5 个后连 connect 都挂)⇒ 探针一律写独立 `.mjs`,收尾 `pkill -9 -f 'node -e'` 复核归零。② `pkill -f` 命中自身命令行会自杀 ⇒ 用字符类或走 `bash -s` 脚本。③ `dataPlaneConfig()` 无缓存 ⇒ **切档运行时立即生效、不需要重启**。④ 实例 home 目录名 = 带连字符 UUID,属主用户名 = 去连字符。
|
||||
|
||||
## 收尾实测(本棒闭环完成 · 2026-09-26 00:0x)
|
||||
|
||||
| 项 | 读数 |
|
||||
|---|---|
|
||||
| 提交① | `6aa8811` `chore(工作区): 插件投放与分库线收口入库(第 36 棒 · 三表切 platform)`(4 files, +596 −1) |
|
||||
| 提交② | `6ece092` `chore(交付件): 第 36 棒收口补记(提交 6aa8811 / 推送 / 对账 0 0 / 域锁释放口径)` |
|
||||
| 推送 | `318430c..6aa8811` / `6aa8811..6ece092` → `origin/master`(`rc=0`) |
|
||||
| 对账 | `git rev-list --left-right --count origin/master...HEAD` = **`0 0`**;`HEAD = ORIGIN = 6ece092` |
|
||||
| 禁止项自查 | `FORBIDDEN_CLEAN`(无 `tmp/`、无 `_tmp_seq*`、无 `05-交接单/` 下单子) |
|
||||
| 域锁释放 | `ME="p36-exec-plugin-dataline" … --release-exec` ⇒ `✓ 已释放域锁(p36-exec-plugin-dataline)`(rc=0,目录已删) |
|
||||
| 发布锁释放 | ⚠️ **首次不带 `ME=` 被拒**(`✗ 拒绝释放发布锁:未指定会话名` rc=1)⇒ 补 `ME=` 后 `✓ 已释放发布锁(归属已核:p36-exec-plugin-dataline)`(rc=0;`.locks/.publish` 目录已删) |
|
||||
| ⛔ 未纳入提交 | `.workbuddy/memory/MEMORY.md`(diff **全为他线记忆瘦身**)+ `CODEBUDDY.md`/`state.py`/`.codebuddy/rules/server-ops.md`/`接续入口_IM线_20260922.md`/多个 `?? 交付物/…` —— **均他线在途,本棒未触碰** |
|
||||
| 本 automation | **本次执行末置 `PAUSED`**;⛔ **未登记第 37 棒**(撞待拍板 2 项:A2 实例进程面 / 106 同步窗口) |
|
||||
|
||||
### ⚠️ 新发现(下棒必看)
|
||||
- 🔴 **释放类命令一律要 `ME=`** —— 实测 `--release-exec` 与 `--release-publish` **都**要求 `ME="<会话名>"`;漏了 ⇒ **fail-closed 拒绝**(`rc=1`,⛔ 不是静默通过)。`--release-skeleton` 同理。
|
||||
- ⚠️ **一个棒可能需要两次提交** —— 交付件里要写「提交 sha」时无法自指 ⇒ 先按读数提交一次、再补记一次(两次都 push)。
|
||||
|
||||
## 续作(2026-09-26 00:17–00:4x · 会话 `p36b-exec-plugin-dataline`)· 用户两条拍板落地
|
||||
|
||||
用户回话:**①「A」**(授权启动实例取进程内读数)**②「worker 应该使用插件更新机制」**(⛔ 不是给 106 开 ssh 通道)。
|
||||
|
||||
| 项 | 结果 |
|
||||
|---|---|
|
||||
| **A2 实例进程内面** | ✅ **达成** —— 实时视图 `running:true`@`20001`(🔴 **纠正上一棒**:其判「`stopped`」所据 PG `dsh_instances.status` 是**滞后失真**)。`curl --compressed -H "Cookie: dsh_token=<实例 token>" http://127.0.0.1:20001/mcn/api/accounts` ⇒ **200** + 13,155 B(`total:5`,与影子读 `hot_accounts 5=5` 一致)。⛔ 本棒**未启动/未停止**任何实例 |
|
||||
| **A8(106)** | 🟡 **改判** —— 机制**已落地且在跑**(worker `POST /shared-layer/pull` + 启动即拉 + 定时轮询;注释原话「`restart dshs-worker` 就等于完成一次共享层同步」)。真机对账快照 `.node-sync-reports.json`:`w-106` @**23:52:11 CST**(我 23:22 share 之后)`authoritative:4` · `missing:[]` · **`stale:["dsh-plugin-mcn-suite"]`** · **`failed:[{"flat":"dsh-plugin-mcn-suite","error":"The operation was aborted due to timeout"}]`** ⇒ **自主拉取成立、该件拉取超时失败** ⇒ 106 仍旧版。🔴 **平台侧问题,只报告不改码** |
|
||||
| **平台侧发现** | 🔴 **`dsh_instances.status` 与实时视图不一致**(台账 `stopped`/实为 `running`)⇒ 影响一切「实例是否在跑」的判断 ⇒ 值得单独立项 |
|
||||
| R4 收尾 | `DELETE … user_agent='poc-curl2'` ⇒ `DELETED=1`、`POC_LEFT=0` |
|
||||
|
||||
### 🔴 本续作新增的四个坑(⏳ 待写进 PLAYBOOK)
|
||||
1. **`UID` 是 bash 只读内建变量** —— 赋值静默失败 ⇒ `$PORT` 变空 ⇒ `curl http://127.0.0.1:/…` **打到 nginx**(返回 nginx 404,极易误判成"应用没这路由")。
|
||||
2. **`.mjs` 不能用 `require`(改 `.cjs`)+ 探针 `catch` 必须 `process.exit()`** —— 否则 pg 连接不关、**进程永久挂住**(实测 `RC=124`)⇒ **这才是「node 探针挂住」的真因**,不是连接泄漏、更不是 `find` 慢。
|
||||
3. **响应是 gzip** —— 不加 `--compressed` 时 `grep` 只报 `Binary file matches`、"看起来没输出" ⇒ 取 JSON 一律 `--compressed`。
|
||||
4. **端口口径**:平台 Web = `127.0.0.1:3080`;`20001` = **该用户实例**;`18081` = centrifugo;`25022–25063` = relay dial pool ⇒ ⛔ 别把实例端口当平台端口。
|
||||
|
||||
|
||||
Reference in new issue
Block a user