【问题标题】:How to configure azure webjob to run every 15 minute如何将 azure webjob 配置为每 15 分钟运行一次
【发布时间】:2020-08-26 16:56:34
【问题描述】:

朋友们下午好,我想通知你们,我是巴西人,所以我想为我的英语道歉。

我有一个 azure webjob,想将其设置为每 15 分钟运行一次。

我正在使用 Visual Studio 部署我的网络作业,并且我已经有了我的 settings.job 文件。我的问题是,当我设置为每三分钟运行一次时,它运行良好,但是当我将它设置为每十五分钟运行一次时,它只能运行 0、15、30、45 分钟。

希望你能理解我

这就是我的 settings.job 文件的样子:

{ "schedule": "* */15 * * * *" }

【问题讨论】:

  • 不是你预期的每 15 分钟 0,15,30,45,...吗?
  • 对不起,我一定表达得很糟糕,我的意思是它在“满”时间运行,例如,15:00 - 15:15 - 15:30 -: 15:45。而我想要的是让它不分时间运行,例如,15:03 - 15:18。

标签: azure cron azure-webjobs webjob


【解决方案1】:

cron 表达式的语义是它们在时间上是绝对的。因此,当您有0 */15 * * * * 时,这意味着在整点后的 0 分钟、15 分钟后等运行......没有办法让它从任意时间开始。

你写的当我设置为每三分钟运行一次时,它工作得很好,但那里的行为应该是一样的:0、3、6、9,...

顺便说一句,请注意您的 cron 表达式并不完全正确。不是* */15 * * * *,而是0 */15 * * * *。否则,它将每秒运行一整分钟,每 15 分钟一次。

【讨论】:

    【解决方案2】:

    所以一个 CRON 表达式由六个字段组成 -> {second} {minute} {hour} {day} {month} {day of the week}

    因此,要每 15 分钟运行一次作业,它应该类似于 -> 0 */15 * * * *

    这是一个参考: https://docs.microsoft.com/en-us/azure/app-service/web-sites-create-web-jobs#cron-expressions

    希望这会有所帮助!

    【讨论】:

    • 谢谢你的回答!但是我的问题已经解决了!
    • 米格尔应该没问题。只是想向大家展示变化以供参考。谢谢!
    【解决方案3】:

    您也可以使用TimeSpan 表达式,我觉得它更容易理解:

    public async static Task SomethingAsync(TimerTrigger("00:15:00", RunOnStartup = true, UseMonitor = true)] TimerInfo timer)
    

    正如TimeSpan.FromMinutes(15).ToString() 所说,“00:15:00”是“每 15 分钟一次”。

    这需要您使用 Microsoft.Azure.WebJobs.Extensions NuGet,您必须小心匹配您的 Microsoft.Azure.WebJobs 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 2018-12-24
      • 1970-01-01
      相关资源
      最近更新 更多