【问题标题】:Azure cron expression for once every hour starting at specific time从特定时间开始每小时一次的 Azure cron 表达式
【发布时间】:2017-03-16 07:47:53
【问题描述】:

我正在尝试使用 cron 表达式创建计划作业,但 Azure 不接受我创建的任何表达式。例如,我想开始一个从 3:30 开始每小时运行的作业

0 30 3/1 * * * *

但根据 Azure,这是无效的。根据其他网站,这是有效的。

【问题讨论】:

    标签: azure cron


    【解决方案1】:

    您是指每天从凌晨 3:30 开始到午夜(晚上 11:30)结束的每个小时?

    这应该可行:

    0 30 3-23 * * *
    

    或者从下午 3:30 到晚上 11:30:

    0 30 15-23 * * *
    

    更新:
    如果您希望您的第一次运行在特定时间发生,然后每 n 分钟重复一次,那么 Azure Webjob Cron 将无济于事,我认为。它们不支持扩展语法。事实上,他们使用修改后的 ncrontab 实现,因此您可以尝试深入研究。

    但是 - 如果您有特定需要在特定时间启动 cron 并无限期运行,您有多种选择:
    选项 1:使用 Azure Scheduler。它有Start At Specific Time Setting
    选项 2:向您的代码添加检查日期/时间,然后每 30 分钟运行一次 Cron。

    【讨论】:

    • 其实我希望作业永远每小时连续运行,我只是希望初始运行在特定时间开始。
    • 如果我不关心初始启动时间,而只是希望它每小时运行一次——基本上我需要在一整天、每一天每小时运行一次——是这样吗? 0 0 0-23 * * *
    【解决方案2】:

    您可以将清除/设置禁止标志分成单独的作业:

    0 30 * * * * if [ ! -e /tmp/inhibitor ] ; then job.sh ; fi
    0 0  0 * * * touch /tmp/inhibitor
    0 29 3 * * * rm -f /tmp/inhibitor
    

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多