5

I've got a webhook-triggered Azure WebJob. For... reasons, I do not have control over the system that is sending the webhooks. One webhook per day is sent. It is the only WebJob hosted by the WebApp.

During testing I wanted to disable this WebJob, so I stopped the WebApp. Much to my surprise, the WebJob ran even though the WebApp was disabled.

So my question is two-fold:

  1. Is the ability to trigger a WebJob while a WebApp is disabled intentional, or did I encounter some sort of bug?
  2. If this is intentional, is there a way to disable this job being triggered via the Azure portal?

If the only solution to my problem is to have the WebJob check a config value to determine whether to run or not, that will do. I just think there has to be a way to disable a WebJob through the portal that I'm missing.

Joe Cullinan
  • 552
  • 3
  • 15
  • How exactly are you doing the webhook - Are you using Azure Functions? Or is this entirely classic WebJobs SDK? – Mike S Sep 21 '17 at 22:45

2 Answers2

8

You can also set the WEBJOBS_STOPPED setting in app settings, especially if publishing to a dev slot for example.

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

Sentinel
  • 3,582
  • 1
  • 30
  • 44
5

Stopping the app does not stop the scm site that runs WebJobs. There is a more advanced way that you can stop it at API level, by setting state=Stopped and scmSiteAlsoStopped=true on the site object. This can be done using Resource Explorer.

See https://github.com/projectkudu/kudu/wiki/Full-stopping-a-Web-App for more detailed steps.

David Ebbo
  • 42,443
  • 8
  • 103
  • 117