禁用触发的Azure WebJob

时间:2017-09-21 22:26:45

标签: azure azure-webjobs azure-web-app-service azure-webjobssdk azureportal

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

在测试期间,我想禁用此WebJob,因此我停止了WebApp。令我惊讶的是,即使WebApp被禁用,WebJob也会运行。

所以我的问题是双重的:

  1. 是否有能力在WebApp被故意禁用时触发WebJob,或者我是否遇到某种错误?
  2. 如果这是故意的,有没有办法通过Azure门户禁用此作业?
  3. 如果我的问题的唯一解决方案是让WebJob检查配置值以确定是否运行,那就可以了。我认为必须有一种方法可以通过我缺少的门户来禁用WebJob。

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:5)

停止应用程序不会停止运行WebJobs的scm站点。通过在站点对象上设置state=StoppedscmSiteAlsoStopped=true,您可以通过更高级的方式在API级别停止它。这可以使用资源浏览器完成。

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