禁用触发的 Azure Web 作业

Disable a Triggered Azure WebJob

我有一个 webhook 触发的 Azure WebJob。由于...原因,我无法控制发送 webhook 的系统。每天发送一个 webhook。它是 WebApp 托管的唯一 WebJob。

在测试期间我想禁用这个 WebJob,所以我停止了 WebApp。令我惊讶的是,WebJob 运行 即使禁用了 WebApp。

所以我的问题有两个方面:

  1. 在禁用 WebApp 时触发 WebJob 的能力是有意为之,还是我遇到了某种错误?
  2. 如果这是故意的,有没有办法禁止通过 Azure 门户触发此作业?

如果我的问题的唯一解决方案是让 WebJob 检查配置值以确定是否 运行,那么就可以了。我只是认为必须有一种方法可以通过我缺少的门户禁用 WebJob。

停止应用程序不会停止运行 WebJobs 的 scm 站点。有一种更高级的方法可以在 API 级别停止它,方法是在站点对象上设置 state=StoppedscmSiteAlsoStopped=true。这可以使用 Resource Explorer 完成。

有关更详细的步骤,请参阅 https://github.com/projectkudu/kudu/wiki/Full-stopping-a-Web-App

您还可以在应用程序设置中设置 WEBJOBS_STOPPED 设置,尤其是发布到开发槽时。

https://github.com/projectkudu/kudu/wiki/WebJobs