【问题标题】:Azure Webjob run on a schedule option missing缺少按计划运行的 Azure Webjob 选项
【发布时间】:2017-05-10 11:30:29
【问题描述】:

我正在尝试从 Visual Studio 2015 控制台应用程序发布 Azure webjob,在 azure webjob 运行模式下“按计划运行”选项丢失,我还安装了 VS 2017 但仍然缺少选项。

我需要安装其他东西吗?我还安装了一个 Nuget 包“Microsoft.Web.WebJobs.Publish”但没有成功。

【问题讨论】:

  • 技术上的计划模式不存在。 它只是一个按需 WebJob,有一个执行它的调度程序作业,或者一个带有 CRON 表达式的 settings.job 文件使用内置调度程序。您想使用哪种调度方式? Azure 调度程序或基于 CRON 表达式的调度程序?我相信 VS 工具在选择该选项时创建了一个调度程序作业来执行 WebJob..
  • @juunas,是的,但请注意,不再推荐使用 Azure 调度程序方式,并且已成为许多问题的根源。 CRON 是要走的路。看我的回答。

标签: azure visual-studio-2015 azure-webjobs


【解决方案1】:

这样做的方法是在 CRON 计划中包含一个 settings.job 文件。例如

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

并确保将您的 settings.job 文件属性标记为“如果较新则复制”。

有关详细信息,请参阅https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-create-web-jobs 中的使用 CRON 表达式创建计划的 WebJob 部分。

【讨论】:

  • 那至少需要基本或标准层,对吧? :) Azure Scheduler 很好,因为该作业甚至可以在免费套餐计划上运行。
  • @juunas 是的,这是一个公平的观点,并在文档中注明。仍然可以使用 Scheduler,但 Portal 或 VS 无法帮助设置它,因此您需要手动将其指向 WebJob。
  • 您能解释一下为什么不推荐使用Scheduler方式吗?到目前为止,我们一直非常成功地使用它,尽管间隔时间很长。
  • @juunas 也许“不推荐”是错误的措辞。它只是更高级,因为它需要设置多个东西,而不是您只需使用 WebJobs 部署文件的一体化 CRON 功能。
  • @RobReagan TimerTriggerAttribute 仅在您需要使用 WebJobs SDK 时才有意义。对于可以像批处理文件一样简单的常规 WebJobs,settings.job 是要走的路。
猜你喜欢
  • 2016-12-07
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多