时间戳与调度指南
Cron 时区迁移:保留本地时间还是绝对时刻
迁移调度时明确保留本地钟点还是绝对时刻,并核对季节性偏移。
先选择保持什么不变
迁移可以保留墙上钟点,也可以保留 UTC 时刻,这两种要求不同。
本地营业时间通常依据具名本地时区,全球同步任务则可能依据 UTC。
09:00 Asia/Shanghai = 01:00 UTC
Local rule: 0 9 * * * with timezone Asia/Shanghai
UTC rule: 0 1 * * * with timezone UTC不能只用一个偏移替代具名时区
夏令时地区一年内有不同 UTC 偏移,一个换算小时无法全年保留同一本地时间。
从本地改成 UTC 部署前,应预览两个季节的日期。
09:00 America/New_York:
Winter: 14:00 UTC
Summer: 13:00 UTC通过调度器接口设置时区
时区配置取决于调度器,Kubernetes 使用 spec.timeZone,其他系统可能使用独立配置或环境规则。
不要把 TZ 或 CRON_TZ 塞进所有表达式,本站时区也在五字段之外单独选择。
规划切换边界
迁移期间新旧规则可能重叠或出现空档,需记录旧规则最后时刻与新规则第一时刻。
把计划时刻纳入幂等键,在关闭旧规则前核对切换两侧的执行。