AgentEvalTool/.scratch/v0.6/issues/03-durable-scheduler-loop-and-recovery.md
sinohqb af7e7bf110
Some checks failed
CI / test (push) Failing after 46s
docs(v0.6): add Campaign spec and 5 tracer-bullet tickets
.scratch/v0.6/spec.md:评估活动 v1(静态地基)规格——单对象、可配服务
周期窗口、耐久调度、双主轴周期报告、time_scale 时间倍速。5 张 tracer-
bullet 票(持久化/API → 调度决策+派生 → 耐久回路+恢复 → 双轴报告 →
前端页),依赖边 ①→②→③、②→④、①③④→⑤。
2026-07-30 11:45:13 +08:00

16 lines
1.6 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.

# 03 — 耐久调度回路 + 重启恢复 + 取消
**What to build:** 平台自带一个耐久调度循环,无需外部驱动即可让一个"进行中"的活动按其(可压缩的)窗口自动推进到终点:到点派生子 Run、窗口走完把活动置为"已完成"。服务重启后,调度从数据库恢复所有未完成活动、继续推进且不重复派生。用户可中途取消进行中的活动,已完成的子 Run 结果保留。
**Blocked by:** 02需要调度决策纯函数与派生能力
**Status:** ready-for-agent
- [ ] 调度循环挂在 Web 应用 lifespan启动时加载所有"进行中"活动并推进,关闭时优雅停止;循环是薄壳,决策仍走 02 的纯函数
- [ ] 活动进度(窗口起止、已派生/已完成到哪)为库中权威状态,进程内不持有权威态
- [ ] 重启恢复:进程重启后据库续跑未完成活动,不重复派生已到点条目;沿用 mark_orphans_failed 思路处理重启时正在跑的子 Run
- [ ] 窗口走完活动状态转"已完成";派生/执行异常不拖垮整个活动(单条失败可跳过并记录)
- [ ] 取消:`POST /api/campaigns/{id}/cancel` 将进行中活动置"已取消"、停止后续派生,已完成子 Run 保留
- [ ] `GET /api/campaigns/{id}` 详情反映实时进度(当前窗口位置、已派生/已完成子 Run 数、状态)
- [ ] 集成测试:压缩倍速活动端到端自动跑完并置"已完成";模拟重启(进行中活动 + 部分子 Run后恢复续跑断言不重复派生、不丢进度取消后不再派生