时间戳与调度指南

Cron 任务重叠:互斥锁与幂等设计

区分计划时刻与实际完成时间,处理并发运行和重复触发。

Nav Tools ·

对比频率和运行时间

每分钟调度不会自动等前一次完成,运行 90 秒的任务可能与下一次重叠。

用 Cron 解析看触发时刻,运行耗时另测,预览无法证明任务能按时完成。

Schedule: * * * * *
Run A: 00:00:00 → 00:01:30
Run B: starts 00:01:00 unless overlap is prevented

选择并发策略

调度器可能允许重叠、活跃时跳过或替换旧任务,不同策略影响数据完整性。

Kubernetes Forbid 只作用于同一个 CronJob,不能互斥不同 CronJob 或其他工作进程。

设计幂等副作用

锁减少并发,但不能单独防止重试或崩溃后的重复副作用,需要稳定操作键。

定时报表可组合任务身份与计划时刻,并在提交副作用处强制唯一。

Operation key: report:2026-11-03T01:00:00Z
Retries reuse this key; they do not generate a new UUID.

把锁生命周期纳入故障设计

进程可能持锁死亡,也可能租约到期后继续运行,需定义续租、所有权和过期工作者处理。

测试超时运行与输出提交后的崩溃,这些执行保证不能由 Cron 语法解决。

参考资料

← 时间戳与调度指南