Cloud Scheduler配置每月首个周六定时任务触发异常咨询
异常触发根因
你使用的45 2 1-7 * 6 cron表达式出现非预期触发,核心原因是Cloud Scheduler遵循标准cron的匹配规则:日期字段与星期字段为逻辑或(OR)关系,而非逻辑与(AND)。
1-7代表匹配每月1日到7日的所有日期6代表匹配每周六
两个条件满足任意一个就会触发任务,因此所有不在1-7日区间的周六(比如你遇到的当月23日周六)都会触发调度,不符合你的预期。
正确调度配置方案
Cloud Scheduler完全支持每月第N个周几的调度规则,你可以通过星期字段的#修饰符实现需求。
你需要的每月第一个周六凌晨2:45运行的任务,正确的cron表达式为:45 2 * * 6#1
表达式各字段含义:
- 第1位
45:分钟字段,匹配每小时的45分 - 第2位
2:小时字段,匹配每日凌晨2点(可根据你对黎明时分的实际需求调整小时值) - 第3位
*:日期字段,不做额外限制 - 第4位
*:月份字段,不做额外限制 - 第5位
6#1:星期字段,6代表周六,#1代表每月第一个符合条件的周几
配置时请确认调度任务的时区参数和你预期的时区一致,避免出现时间偏移问题。
内容的提问来源于stack exchange,提问作者GyeongSik Jang
相关产品推荐
相关产品推荐

