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:
- Is the ability to trigger a WebJob while a WebApp is disabled intentional, or did I encounter some sort of bug?
- 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.
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
andscmSiteAlsoStopped=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.
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