【问题标题】:azure - scheduling a webjobazure - 安排网络作业
【发布时间】:2017-08-17 11:52:01
【问题描述】:

我开发了一个 webjob,在测试它的同时,我将它设置为手动触发。我对这个功能很满意,现在我想将它设置为每 30 分钟运行一次。

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

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

我最初将其设置为“如果较新则复制”并上传了网络作业。在 azure webjobs 部分,我列出了这个 webjob,type = continuous,它显示了计划设置。

我不得不进行一些修改并再次上传,但现在状态显示为“等待重新启动”并且日程信息已消失。我将 settings.job 文件更改为“始终复制”,但计划仍未显示。(只是 n/a)

这个过程应该如何工作?

** 更新

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

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

然后我有一个带有这个的 webjob-publish-settings.json 文件

“运行模式”:“按需”

最后,还有一个 settings.job 文件

"schedule": "0 0,15,30,45 * * * *"

所以我希望它现在每 15 分钟运行一次,但事实并非如此,日程安排甚至没有显示在网络作业旁边

【问题讨论】:

  • 我已经检查了数据库的 sql server 查询分析器,并且 webjob 一直在运行,根本没有时间表,那么你到底如何设置时间表?
  • 将 settings.job 文件更改为这个“schedule”:“0,30 * * * *” 但没有区别,它每分钟左右运行一次,太疯狂了!

标签: azure azure-webjobs schedule


【解决方案1】:

如果您的目标是有一个预定的 WebJob,那么您不应该将它部署为一个 Continuous WebJob,这是完全不同的事情。 Continuous WebJobs 适用于您有一个启动且永不终止的可执行文件的情况。当您的 exe 启动、执行一项任务然后终止时,将使用触发(和计划)WebJobs。

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

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

【讨论】:

  • 我已经更新了我原来的问题,仍然有问题
  • 我应该有这个“runMode”:“OnDemand”还是这个“runMode”:“Scheduled”?
  • 你想要按需。调度是指使用 Azure 调度程序,不再推荐使用该技术。
猜你喜欢
  • 1970-01-01
  • 2022-10-18
  • 2022-10-12
  • 1970-01-01
  • 2017-10-17
  • 2014-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多