Matt Roberts
Matt Roberts

Reputation: 26897

Run azure webjob as singleton, with deployment slots

I have a website with a bunch of webjobs. The webjobs are continuous, but use Quartz.net to schedule internally. I'm using deployment slots to deploy my site to a staging site, which I then swap into production.

All works well, but I want to stop my webjobs from ever scaling out with my web app (i.e. not participate in auto-scale).

Now, I know I can create a settings.job file and set { "is_singleton": true } ... BUT ... in my testing, that breaks my deployments to my staging site - what happens when I deploy is that on my staging slot they all become stopped (presumably because my settings.job file prevents them from running). If I remove the settings.job file and deploy to my staging site again, this doesn't happen - they remain running.

How do I stop my webjobs from scaling out with auto-scale, without breaking the deployment slot swapping strategy?

Thanks

Upvotes: 2

Views: 1422

Answers (1)

Matt Roberts
Matt Roberts

Reputation: 26897

I re-tested my deployment with a settings.job file with is_singleton set, and it worked correctly - the WebJobs deployed successfully and was running after the deployment had finished.

I'm not sure why this wasn't the case before - either something changed with Kudo, or perhaps I was confusing things by deploying my WebJobs inconsistently, but in any case, I can report this is no longer an issue :)

Upvotes: 2

Related Questions