Files
dsh_ai1net_server/交付物/唤醒-双排期实现方式与状态动作表-20260930-图.html
T
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

83 lines
6.8 KiB
HTML
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.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>唤醒 · 双排期实现方式与状态→动作</title>
<style>
body{margin:0;padding:28px 20px 40px;background:#1b1b1d;color:#e8e8ea;
font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
h1{font-size:17px;font-weight:600;margin:0 0 6px}
p.sub{font-size:12.5px;color:#9a9aa2;margin:0 0 22px;line-height:1.7}
.wrap{max-width:760px;margin:0 auto}
.cap{font-size:12.5px;color:#9a9aa2;margin:26px 0 8px}
</style>
</head>
<body>
<div class="wrap">
<h1>唤醒 · 双排期实现方式与「状态 → 动作」</h1>
<p class="sub">唤醒 = 到点由宿主起一个<b>新会话</b>(⛔ 不是叫醒旧会话——旧会话的网关口随进程消失);两条每小时排期相位错开 30 分钟;互斥靠同一条域锁。</p>
<svg width="100%" viewBox="0 0 680 498" role="img" xmlns="http://www.w3.org/2000/svg">
<title>唤醒触发链与状态动作分流</title>
<desc>两条错开半小时的每小时排期各起一个新会话;新会话跑状态并抢域锁,抢不到即退出;抢到后按有缺口、卡在用户、无缺口、判不准四种状态分别动作。</desc>
<defs>
<marker id="ar" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</marker>
</defs>
<rect x="150" y="26" width="380" height="54" rx="8" fill="#0C447C" stroke="#85B7EB" stroke-width="0.5"/>
<text x="340" y="46" text-anchor="middle" dominant-baseline="central" font-size="13.5" font-weight="500" fill="#B5D4F4">两条每小时排期,相位错开 30 分钟</text>
<text x="340" y="64" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#85B7EB">A :04 | B :34 | 实际每 30 分钟一次唤醒</text>
<line x1="340" y1="82" x2="340" y2="104" stroke="#85B7EB" stroke-width="1.5" marker-end="url(#ar)"/>
<rect x="150" y="108" width="380" height="54" rx="8" fill="#0C447C" stroke="#85B7EB" stroke-width="0.5"/>
<text x="340" y="128" text-anchor="middle" dominant-baseline="central" font-size="13.5" font-weight="500" fill="#B5D4F4">宿主起一个「全新会话」</text>
<text x="340" y="146" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#85B7EB">新进程 = 新网关口(⛔ 不是叫醒旧的)</text>
<line x1="340" y1="164" x2="340" y2="186" stroke="#85B7EB" stroke-width="1.5" marker-end="url(#ar)"/>
<rect x="150" y="190" width="380" height="54" rx="8" fill="#0C447C" stroke="#85B7EB" stroke-width="0.5"/>
<text x="340" y="210" text-anchor="middle" dominant-baseline="central" font-size="13.5" font-weight="500" fill="#B5D4F4">第 0 步:跑状态 → 抢域锁</text>
<text x="340" y="228" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#85B7EB">抢不到 ⇒ 立即结束(有人正在推进=天然去抖)</text>
<path d="M340 246 L340 268 L108 268 L108 292" fill="none" stroke="#5DCAA5" stroke-width="0.5"/>
<path d="M340 246 L340 292" fill="none" stroke="#EF9F27" stroke-width="0.5"/>
<path d="M340 246 L340 268 L432 268 L432 292" fill="none" stroke="#B4B2A9" stroke-width="0.5"/>
<path d="M340 246 L340 268 L572 268 L572 292" fill="none" stroke="#B4B2A9" stroke-width="0.5"/>
<path d="M108 292 L108 296" fill="none" stroke="#5DCAA5" stroke-width="0.5" marker-end="url(#ar)"/>
<path d="M340 292 L340 296" fill="none" stroke="#EF9F27" stroke-width="0.5" marker-end="url(#ar)"/>
<path d="M432 292 L432 296" fill="none" stroke="#B4B2A9" stroke-width="0.5" marker-end="url(#ar)"/>
<path d="M572 292 L572 296" fill="none" stroke="#B4B2A9" stroke-width="0.5" marker-end="url(#ar)"/>
<rect x="40" y="300" width="136" height="60" rx="8" fill="#085041" stroke="#5DCAA5" stroke-width="0.5"/>
<text x="108" y="320" text-anchor="middle" dominant-baseline="central" font-size="13.5" font-weight="500" fill="#9FE1CB">① 有缺口</text>
<text x="108" y="338" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#5DCAA5">写一行排期接棒</text>
<text x="108" y="352" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#5DCAA5">(id 只取返回值)</text>
<rect x="274" y="300" width="136" height="60" rx="8" fill="#791F1F" stroke="#F09595" stroke-width="0.5"/>
<text x="342" y="320" text-anchor="middle" dominant-baseline="central" font-size="13.5" font-weight="500" fill="#F7C1C1">② 卡在用户</text>
<text x="342" y="338" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#F09595">⛔ 不派棒</text>
<text x="342" y="352" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#F09595">只报告"要你做什么"</text>
<rect x="364" y="300" width="136" height="60" rx="8" fill="#2C2C2A" stroke="#B4B2A9" stroke-width="0.5"/>
<text x="432" y="320" text-anchor="middle" dominant-baseline="central" font-size="13.5" font-weight="500" fill="#D3D1C7">③ 无缺口</text>
<text x="432" y="338" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#B4B2A9">⛔ 不造活、不巡检</text>
<text x="432" y="352" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#B4B2A9">一句话结束(正常出口)</text>
<rect x="504" y="300" width="136" height="60" rx="8" fill="#2C2C2A" stroke="#B4B2A9" stroke-width="0.5"/>
<text x="572" y="320" text-anchor="middle" dominant-baseline="central" font-size="13.5" font-weight="500" fill="#D3D1C7">④ 判不准</text>
<text x="572" y="338" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#B4B2A9">按 ③ 处理</text>
<text x="572" y="352" text-anchor="middle" dominant-baseline="central" font-size="12.5" fill="#B4B2A9">宁可空转一轮</text>
<rect x="40" y="386" width="600" height="92" rx="8" fill="#3C3489" stroke="#AFA9EC" stroke-width="0.5"/>
<text x="60" y="406" dominant-baseline="central" font-size="13" font-weight="500" fill="#CECBF6">抢锁之前就已决定的三条(不占四分支)</text>
<text x="60" y="425" dominant-baseline="central" font-size="12.5" fill="#AFA9EC">· 抢不到锁 ⇒ 立即结束,⛔ 不等待/不接管/不删别人的锁(R9)</text>
<text x="60" y="443" dominant-baseline="central" font-size="12.5" fill="#AFA9EC">· 🔴 从属于目标:下「执行 XXX 目标」口令 ⇒ A 即刻启用 + 隔 30 分钟启用 B;完成或受阻 ⇒ 一起暂停</text>
<text x="60" y="461" dominant-baseline="central" font-size="12.5" fill="#AFA9EC">· 相位漂移(两条不再差约 30 分钟)⇒ 按启用口径重做(全停 → A 即刻 → B 隔 30 分钟)</text>
</svg>
</div>
</body>
</html>