45 lines
2.7 KiB
Markdown
45 lines
2.7 KiB
Markdown
# 每轮执行回执
|
||
|
||
用户于 2026-09-18 要求每轮结束显示实际结果和下一轮任务。
|
||
|
||
自动刷新页面:`http://127.0.0.1:5180/execution.html`(每 5 秒读取现有记录)。
|
||
|
||
终端简报:`python3 tools/scheduler_round_report.py`。
|
||
完整状态:`python3 tools/show_freecad_web_scheduler.py`,顶部先显示回执。
|
||
逐轮实时输出:`tail -F docs/current/freecad-web-scheduler.out`。
|
||
服务启停日志:`journalctl --user -u freecad-web-acceptance.service -f`。
|
||
|
||
记录位置:
|
||
|
||
- `docs/current/round-report.json`:最近结果、已确认接续任务及最近 20 轮。
|
||
- `docs/current/round-reports/cycle-NNNNNN.json`:保留各轮独立结果。
|
||
- `web/public/execution-status.json`:供进度页读取的简明数据。
|
||
|
||
业务回合从既有 scheduler-progress 的结束记录生成,巡检回合从既有巡检
|
||
结果生成。新增整项通过只引用 firstBusinessPassIds 和其验收证据;源码
|
||
修改、历史证据刷新、未完成及上游等待分开显示。原始回合说明与流水线
|
||
阻塞分开保存。下一轮只有调度状态与批次 ID 匹配、并进入实际执行阶段后
|
||
才显示为已确认;否则显示待调度,不预测或修改队列。
|
||
|
||
回执接在现有心跳发布处,普通更新最多每 5 秒一次,轮次/状态边界即时
|
||
刷新;非阻塞文件锁避免多个查看命令冲突。报告错误不阻止原心跳发布。
|
||
无新增常驻进程,不加载 WASM,不运行验收,不改变通过台账或调度优先级。
|
||
|
||
首次启用通过向 scheduler(不是 watchdog/service)发送其已处理的 TERM,
|
||
让当前业务回合及后置流水线正常完成,再由现有看门狗重载。新心跳中的
|
||
`roundReportVersion: 1` 是自动发布已载入的实际标记;进度页在此前明确
|
||
显示启用中,不把静态快照冒充实时更新。
|
||
|
||
进度页兼容 scheduler 已加载的 v2 回执和重载后的 v3 回执。升级发生在
|
||
业务回合中时不终止当前回合;页面继续显示已有回执,待看门狗自然重启
|
||
scheduler 后使用新版格式。这避免执行状态页面因格式升级而空白。
|
||
|
||
验证:7 项回执逻辑测试;连同已有计时和巡检测试共 26 项通过。真实浏览器
|
||
确认页面能自动获得更新、返回真实状态、无页面错误,390px 布局无横向
|
||
溢出。截图位于 `round-report-check/`。一次已缓存结果更新约 0.015 秒。
|
||
|
||
自动发布已在当前回合自然完成后的重载生效,观察到新 scheduler PID
|
||
1970889、`roundReportVersion: 1`。页面实际取得第 9443 轮的两项首次通过
|
||
记录及尚未验证的后续预览修复,并自动显示第 9444 轮 Mesh 接续任务。
|
||
这是自动回执的运行证据,不代表那两项后续源码变更也已经通过验证。
|