如何配置azure webjob每15分钟运行一次

时间:2017-09-28 17:35:17

标签: azure cron azure-webjobs webjob

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

我有一个天蓝色的webjob,并希望将其设置为每15分钟运行一次。

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

我希望你能成功理解我

这就是我的settings.job文件:

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

3 个答案:

答案 0 :(得分:4)

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

当我设置为每三分钟运行一次时,你写了,它完美地运行,但行为应该是相同的:0,3,6,9 ......

顺便说一句,请注意你的cron表达式不太正确。而不是* */15 * * * *,它必须是0 */15 * * * *。否则,它将每隔一分钟运行一分钟,每15分钟一次。

答案 1 :(得分:3)

因此,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

希望这有帮助!

答案 2 :(得分:0)

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