Skip to content

chore(scheduler): PDF Fidelity Patrol 巡检节奏 3600s→600s - #1065

Merged
ThreeFish-AI merged 1 commit into
feature/1.x.xfrom
ThreeFish-AI/pdf-fidelity-patrol-600s
Jul 7, 2026
Merged

chore(scheduler): PDF Fidelity Patrol 巡检节奏 3600s→600s#1065
ThreeFish-AI merged 1 commit into
feature/1.x.xfrom
ThreeFish-AI/pdf-fidelity-patrol-600s

Conversation

@ThreeFish-AI

Copy link
Copy Markdown
Owner

背景与动机

Scheduler 系统任务 「PDF Fidelity Patrol(PDF→Markdown 高保真自拟合巡检)」key=pdf_fidelity_patrol)原节奏为每 3600s(1h) 触发一轮。本 PR 将其收敛为每 600s(10min) 检查一次,以更高频推进高保真自拟合巡检闭环。

为何走「新增迁移」而非改配置/调 API

  • 该任务是系统任务is_system=TRUE),REST 端点 PUT /scheduler/tasks/{id} 对系统任务显式拒绝改写。
  • 节奏权威是 DB 列 negentropy.scheduled_tasks.interval_seconds,仅由种子迁移 0076ON CONFLICT DO NOTHING 写入 3600,对已存在行无效;且 0076 已发布,按 Alembic 规范不得回改。
  • ⇒ 唯一正确、可回滚的做法:新增前向迁移 0091 UPDATE 该行(「单一事实源=全部迁移的累积结果」,新旧 DB 均收敛到 600s)。

变更内容

  • 新增 0091_pdf_fidelity_patrol_interval_600s.py0090 → 0091,单一线性 head):
    • interval_seconds 3600 → 600
    • next_fire_at = NOW() —— 令新节奏于下一 tick 即时生效(缩短 interval 时 NOW() 恒 ≤ 旧计划时刻,仅把下一轮提前);
    • 同步刷新 description「每 1h」→「每 600s(10min)」,使 Scheduler UI 展示与真实节奏一致;
    • downgrade() 对称还原(interval=3600 + 原 description)。
  • pdf_fidelity_patrol.py:更新 docstring/descriptor 中 3600s/1h → 600s/10min 文案(纯注释/展示串,无行为变更),保持 SSOT 一致。

安全性

叠加 handler「在跑即 SKIP」互斥(max_concurrency=1)与灰度门控(routine.enabled + routine.patrol_enabled,后者默认 False),改小 interval 无并发/雪崩风险。

验证

  • alembic heads 仅单 head 0091history0090 -> 0091
  • 本地 upgrade/downgrade 往返:upgrade 后 interval_seconds=600.0、desc 含「每 600s」;downgrade 后 interval_seconds=3600.0、desc 复原「每 1h」;验证后将本地 DB 还原至 0090(不引入跨 checkout 版本漂移)。
  • pre-commit(Ruff lint + format + 通用卫生检查)全绿。

🤖 Generated with Claude Code

- 新增迁移 0091:UPDATE negentropy.scheduled_tasks 将 pdf_fidelity_patrol 的
  interval_seconds 3600(1h)→600(10min),重置 next_fire_at=NOW() 令新节奏于下一 tick
  即时生效,并同步刷新 description(每 1h→每 600s);downgrade 对称还原。系统任务
  (is_system=TRUE) API 不可改,故走前向迁移;已本地 upgrade/downgrade 往返验证。
- 同步 handler docstring/descriptor 中 3600s/1h → 600s/10min 文案,保持单一事实源一致。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
@ThreeFish-AI
ThreeFish-AI merged commit aba220c into feature/1.x.x Jul 7, 2026
4 checks passed
@ThreeFish-AI
ThreeFish-AI deleted the ThreeFish-AI/pdf-fidelity-patrol-600s branch July 8, 2026 06:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant