Azure Functions Beta版定时器问题及每日23:59定时配置咨询
Azure Functions 定时器配置问题解答
先别着急怀疑Beta版的定时器有Bug,大概率是Cron表达式的配置出了问题——毕竟Azure Functions的Cron格式有它自己的规则,和咱们平时接触的一些Cron语法略有不同,很容易踩坑。
首先得明确:Azure Functions的Cron表达式是6个字段,顺序是:{秒} {分} {时} {日} {月} {星期},这和很多只需要5个字段的Cron工具不一样,这是最容易出错的点。
如果你想实现每日23:59准时触发,正确的Cron配置应该是:
59 59 23 * * *
给你拆解下每个字段的含义:
- 第一个
59:指定触发的秒数为59 - 第二个
59:指定触发的分钟数为59 - 第三个
23:指定触发的小时数为23点(24小时制) - 后面三个
*:分别代表任意日期、任意月份、任意星期,也就是每天都会触发
另外还有个关键细节要注意:Azure Functions默认使用UTC时区,如果你的23:59是指本地时区(比如中国时间),那得去应用设置里添加WEBSITE_TIME_ZONE配置项,把值设为对应的时区名称(比如中国标准时区填China Standard Time),不然定时器会按照UTC时间来触发,和你的预期就会有偏差。
至于你提到的上次运行时间异常,先对照上面的规则检查下原配置的字段顺序和值是否正确,大概率是这里的问题,Beta版的定时器核心逻辑和正式版一致,一般不会有这么基础的Bug~
内容的提问来源于stack exchange,提问作者cpiock
相关产品推荐
相关产品推荐

