Repository navigation
同步 dsh-timer-agent v0.5.0:一次性任务 + nextRunAt 驱动调度模型。
新增
- 一次性任务:只设执行时间(新建页执行模式下拉选"一次性",默认当前 +1h),到点执行一次后任务自动归档;成功/失败/手动执行都会消耗这次机会;详情页可手改执行时间
- 执行完全由持久化的
nextRunAt驱动:cron/固定间隔只负责计算它;tick 对一次性任务在触发当拍原子消耗nextRunAt(at-most-once),运行中到点不消耗、下一拍重试 - 暂停保留
nextRunAt(不再清空);恢复/重启归档改为按真实上次执行时间重算,错过不补跑 - API:
POST /v1/jobs支持runAt(ms epoch 或 ISO,优先级 interval > cron > runAt);PATCH nextRunAt手改下次执行时间(仅固定间隔/一次性,cron 拒绝);一次性任务拒绝"跳过一次"
UI
- 新建/编辑页:执行模式下拉(Cron 表达式 / 固定间隔 / 一次性),与"启用调度"开关同行、未勾选时禁用
- 详情页:一次性标签、隐藏"跳过一次"、新增"修改下次执行时间"控件
其他
- 旧台账零迁移直接兼容(一次性规则需时刻证据,空白脏行仍丢弃)
- 新增 node:test 测试 15 例(纯逻辑 + HTTP 集成,
npm test,临时台账隔离)