Azure WebJob未按计划运行

时间:2016-08-02 00:52:44

标签: azure azure-webjobs

我遇到一个问题,我创建的Azure WebJob(在Web App上)没有使用我指定的cronjob Trigger运行。我可以单击WebJob,然后单击运行,它运行正常,没有错误。门户网站中WebJobs的屏幕截图如下所示。

WebJobs List
如您所见,触发器设置为每天上午9:30运行,但它永远不会按触发器自动运行,只能手动使用Run。 WebJob本身设置为运行.exe文件中包含的.exe文件。

以下是我在创建WebJob时使用的设置 Creating new WebJob

4 个答案:

答案 0 :(得分:8)

您需要确保在App中启用了Always On,这要求它在Basic或更高模式下运行。

有关详细信息,请参阅https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/#CreateScheduledCRON

答案 1 :(得分:1)

正如David Ebbo的回答所述,如果您的CRON表达不正确,则不会自动触发webjob。

在此piece of relevant MS documentation中,提到了以下CRON表达式,但不起作用:

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

相反,请使用:

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

这样我每15分钟就会运行一次webjob。

答案 2 :(得分:0)

只需将其放在此处给Google员工即可。

请记住Azure在UTC时间运行,因此您所在时区的9:30在Azure时间可能有所不同。

我是PST,所以如果我想在9:30运行某些内容,请将CRON表达式设置为16:30。如果您需要在正好9:30执行作业,那么夏时制就会成为问题,您将需要更改CRON表达式,因为UTC不会随DST更改。

答案 3 :(得分:0)

遇到了类似的问题。参考下面的链接

https://raskarovblog.wordpress.com/2017/03/16/why-is-my-azure-webjob-cron-expression-is-not-working/

Azure团队指出Azure WebJob CRON使用带有六个参数的NCronTab(不接受五个和七个参数)。

如果您查看NCronTab文档,您会发现它们使用5个参数。 Azure团队解释说,他们还传递了NCronTab默认不使用的“ Seconds”参数。

下面的cron格式

{秒} {分钟} {小时} {日} {月} {星期几}

每天早上9.30运行网络作业将是

{"schedule":"0 30 9 * * *"}

还要检查天蓝色webjobs中安排的时间和您的本地时间。