Snowflake定时任务CRON配置错误排查及调度规则优化咨询
Snowflake Task 调度规则修正方案
现有代码的两处核心错误
- 运行间隔配置错误:CRON 表达式的分钟位为
*,代表每分钟触发一次,不符合每2分钟运行的需求 - 停止时间配置错误:CRON 的范围规则为闭区间,
5-17会覆盖5:00~17:59的全量时间,因此17点后任务仍会持续运行到17:59才停止
正确配置代码
若要实现美东时间5:00~16:59期间每2分钟运行一次,17点后完全停止,仅需修改SCHEDULE参数的CRON规则即可,完整代码如下:
CREATE OR REPLACE TASK tsk_master WAREHOUSE = XS_WH SCHEDULE = 'USING CRON */2 5-16 * * * America/New_York' TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH24' COMMENT = 'Master task job to trigger all other tasks' AS call pntinsight_lnd.SP_ACCT_DIM_1(); -- 任务创建后默认是暂停状态,执行以下命令启用 ALTER TASK tsk_master RESUME;
CRON字段规则说明
- 第一位
*/2:代表每间隔2分钟触发一次 - 第二位
5-16:限定仅在5点到16点的小时范围内触发,覆盖的时间区间为5:00:00~16:59:59,17点后不会再触发
如果你需要保留17:00整的最后一次运行,可以将小时位改为
5-17,此时任务最后一次运行时间为17:00,17:02及之后不会再触发。
内容的提问来源于stack exchange,提问作者Sukanya
相关产品推荐
相关产品推荐

