a2ae74d582
- Backend: auth refresh reuse, schedule/retry/sync/agent/files fixes - Frontend: push WS, files ETag browse, vite build assets - Docs: audit/changelog, production deploy gate, bug scan registry B7-77 - Deploy: deploy-production.sh, prune assets, gate logs
1.1 KiB
1.1 KiB
Changelog — 一次性调度失败回滚(2026-06-04)
摘要
修复 run_mode=once 的推送/脚本调度在执行失败后无法再次触发的问题。
动机
调度器在触发前将 enabled=False 并写入 last_run_at 以防重复触发;若随后执行失败,旧逻辑只对 cron 回滚 last_run_at,一次性任务保持禁用,运维侧表现为「任务跑了一次就永远消失」。
变更
| 文件 | 说明 |
|---|---|
server/background/schedule_runner.py |
新增 rollback_schedule_after_failed_run();失败时 once 恢复 enabled=True |
tests/test_schedule_runner_once.py |
回滚行为单测 |
docs/reports/audit-bug-line-walk-2026-06-04-batch2.md |
BUG Batch 2 审计报告 |
迁移 / 重启
- 需重启 Nexus 后端(Supervisor
nexus)以加载schedule_runner变更。 - 无数据库迁移。
验证
ruff check server/background/schedule_runner.py
pytest tests/test_schedule_runner_once.py -q
关联
- BUG-06-04-04(Batch 2)
- 前序:Batch 1 安装锁与 script callback 聚合 —
docs/changelog/2026-06-04-install-lock-atomic.md