azure - 安排webjob

时间:2017-08-17 11:52:01

标签: azure azure-webjobs schedule

我开发了一个webjob,虽然我一直在测试它,但我将其设置为手动触发。我对功能感到满意,现在我想将其设置为每30分钟运行一次。

在发布文件(webjob-publish-settings.json)中,我设置了此"runMode": "Continuous",并在此设置中包含了一个setings.job文件

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

我最初将其设置为'copy if newer'并且我上传了webjob。在azure webjobs部分,我有一个这个webjob的列表type = continuous,它显示了日程安排设置。

我不得不做出一些修改并再次上传,但现在状态显示“正在重启”并且计划信息已经消失。我将settings.job文件更改为“始终复制”,但计划仍然没有显示。(只是不适用)

这个过程应该如何运作?

**更新

我仍然无法让这个工作,在我的主程序文件中我有这个

Task callTask = host.CallAsync(typeof(Functions).GetMethod("CreateQueueMessage"));
        callTask.Wait();

然后我有一个带有此

的webjob-publish-settings.json文件

“runMode”:“OnDemand”

最后是一个带有此

的settings.job文件

“schedule”:“0 0,15,30,45 * * * *”

所以我希望它现在每15分钟运行一次,但事实并非如此,时间表甚至不会出现在webjob旁边

1 个答案:

答案 0 :(得分:1)

如果您的目标是安排一个WebJob,则不应将其部署为Continuous WebJob,这是一个非常不同的事情。连续WebJobs适用于您具有可启动且永不终止的可执行文件的情况。当你有一个exe启动,执行一个任务然后终止时,会使用触发(和预定)的WebJobs。

在连续的WebJobs中完全忽略了计划。

您每分钟都看到连续作业运行的原因是系统一直试图重新启动它,因为它希望它永远不会终止。