如何将 azure webjob 配置为每 15 分钟 运行

How to configure azure webjob to run every 15 minute

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

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

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

希望你能理解我

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

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

cron 表达式的语义是它们在时间方面是绝对的。所以当你有 0 */15 * * * * 时,它意味着 运行 在整点后 0 分钟,15 分钟后,等等......没有办法让它从任意时间开始。

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

顺便说一句,请注意您的 cron 表达式不太正确。而不是 * */15 * * * *,它需要 0 */15 * * * *。否则,它会每秒 运行 整整一分钟,每 15 分钟。

所以一个 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

希望对您有所帮助!

您也可以使用 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版本。