求半秒触发的CRON Job表达式,Azure Web Job每秒触发CRON配置求助
Azure Web Job 半秒间隔触发实现说明
Azure Web Jobs 内置的CRON触发器基于NCronTab库实现,最小支持的时间粒度为1秒,原生不存在可实现半秒(0.5秒)触发的CRON表达式。
可行替代方案
- 方案1:使用TimerTrigger替换CRON触发器
Web Jobs的TimerTrigger原生支持TimeSpan格式的间隔配置,可直接设置半秒触发间隔,对应配置代码如下:public static void Run([TimerTrigger("00:00:00.5")] TimerInfo myTimer, ILogger log)
需注意必须将Web Job设置为连续运行模式,同时在App Service配置中开启Always On,避免进程被系统回收导致任务中断。 - 方案2:CRON+任务内延迟实现近似触发
若必须使用CRON触发器,可先配置每秒触发的CRON表达式:*/1 * * * * *,随后在任务逻辑中拆分为两次执行,中间插入适配业务耗时的半秒内延迟,即可近似实现半秒触发的效果。
注意事项
半秒级高频触发对任务执行耗时要求较高:如果单次任务执行时长超过500ms,会直接导致任务堆积、触发间隔漂移,需提前评估业务逻辑耗时,必要时开启多实例并发执行配置。
内容的提问来源于stack exchange,提问作者Akash Limbani
相关产品推荐
相关产品推荐

