766113 工具箱
Cron

Cron 表达式上线前的检查清单

定时任务出问题时,常常不是表达式完全写错,而是时区、并发和失败处理没有提前想清楚。

第一项是时区。Linux Cron、容器、应用框架和云厂商调度器可能使用不同默认时区。如果业务说“每天凌晨 2 点”,需要明确这是用户本地时间、服务器本地时间,还是 UTC。

第二项是频率。*/5 * * * * 看起来简单,但如果任务平均运行 8 分钟,就会出现重叠执行。需要确认任务是否允许并发,是否有锁,失败后是否会补跑。

第三项是错峰。很多服务都喜欢在整点跑任务,结果数据库、API 和网络出口同时承压。能随机延迟或分散到不同分钟,就不要全部堆在 0 分。

上线前至少确认