You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chalice Cron配置周末定时Lambda触发ScheduleExpression报错原因咨询

问题原因与解决方案

核心错误根源

该报错和Chalice框架本身无关,Chalice的Cron方法只是透传参数到AWS EventBridge的定时规则,错误是不符合AWS EventBridge的Cron表达式规范导致的:
AWS Cron明确要求**「日(Day-of-month)」和「周几(Day-of-week)」两个字段不能同时指定具体值/通配符*,必须将其中一个设为?**,用来避免逻辑冲突(同时要求「每月每天」和「仅周末」属于无效逻辑)。

你当前第二个任务的参数:
chalice.Cron("0/30", "1-4,12-15", "*", "*", "0,6", "*")
第三个参数(日)设为*、第五个参数(周几)设为0,6,违反了上述规则,因此部署时AWS直接返回参数无效错误。

相关疑问说明

  • 0/30的步长写法、最后一位年的通配符*均是AWS Cron支持的标准语法,通用crontab校验工具提示异常是因为这类工具适配的是Linux原生Cron规范,和AWS Cron规则存在差异,无需在意。
  • 你之前正常运行的任务就是将周几字段设为?,避开了两个字段同时指定的问题,因此可以正常部署。

修正后的正确写法

将日字段改为?即可:

@app.schedule(chalice.Cron("0/30", "1-4,12-15", "?", "*", "0,6", "*"))
def bar(event):

该表达式会在每周六、周日的1:00-4:59、12:00-15:59时间段内每30分钟触发一次,符合需求。

内容的提问来源于stack exchange,提问作者JickBeNimbler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:30:04