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

如何编写CRON表达式实现Azure WebJob工作日8:00、16:30触发

Azure WebJob 定时触发CRON表达式编写方案

核心规则前置说明

Azure WebJob 使用的是6位CRON表达式,和Linux默认的5位格式不同,字段顺序为:
{秒} {分钟} {小时} {月内日期} {月份} {星期几}

  • 星期几取值范围:0 = 周日,1 = 周一,5 = 周五,6 = 周六
  • 通配符*代表匹配该字段所有有效值

符合需求的CRON表达式

由于触发时间是两个独立的时分配对(8:00、16:30),无法用单个CRON表达式精准匹配,需要配置两个独立的触发规则:

  • 每周一到周五上午8:00触发:0 0 8 * * 1-5
  • 每周一到周五下午16:30触发:0 30 16 * * 1-5

字段拆解解释(以8:00的表达式为例)

  • 第一位0:仅第0秒触发
  • 第二位0:仅第0分钟触发
  • 第三位8:仅小时为8时触发
  • 第四位*:匹配任意日期
  • 第五位*:匹配任意月份
  • 第六位1-5:仅周一到周五触发

配置方式参考

1. 代码中使用TimerTrigger属性(适用于.NET WebJob)

直接在函数上标记两个Trigger即可:

public static void Run([TimerTrigger("0 0 8 * * 1-5")] TimerInfo timer1, [TimerTrigger("0 30 16 * * 1-5")] TimerInfo timer2, ILogger log)
{
    // 你的业务逻辑
}

2. 无代码配置(通过settings.job文件)

如果是脚本类WebJob,在WebJob根目录创建settings.job文件,写入以下内容即可:

{
  "schedule": "0 0 8 * * 1-5, 0 30 16 * * 1-5"
}

注意事项

  • 必须在Azure Portal的Web应用配置中开启「始终开启」选项,否则应用空闲回收后CRON不会触发
  • 表达式的时间默认基于Web应用实例的UTC时区,如需使用北京时间,可在Web应用配置中添加应用设置WEBSITE_TIME_ZONE,值设为China Standard Time

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:54:03