Azure Functions定时CRON表达式问题:每日20点至次日3点执行失败求助
解决Azure Functions定时任务CRON表达式问题
你的核心问题大概率是时区不匹配,而非表达式语法错误:
- Azure Functions默认使用UTC时区,如果你期望的是本地时间(比如北京时间)的20:00至次日03:00执行,直接用
0 */1 20-23,0-3 * * *会导致执行时间和预期偏差。 - 另外,
*/1在分钟字段和*等价,可以简化为0 * 20-23,0-3 * * *。
两种解决方案:
方案1:调整CRON表达式适配UTC时区
以北京时间(UTC+8)为例,你期望的本地时间范围对应UTC时间为当天12:00至19:00,对应的CRON表达式为:
0 * 12-19 * * *
如果是其他时区,自行计算本地时间与UTC的偏移量转换即可。
方案2:配置函数应用使用本地时区
在Azure门户的函数应用配置中,添加名为WEBSITE_TIME_ZONE的应用设置,值设置为你需要的时区(比如北京时间填China Standard Time)。配置完成后,你的原表达式(简化后)即可正常运行:
0 * 20-23,0-3 * * *
内容的提问来源于stack exchange,提问作者LionKing
相关产品推荐
相关产品推荐

