Can anybody explain the difference between Azure Web Jobs and Azure Scheduler
2 Answers
Azure Web Jobs
- Only available on Azure Websites
- It is used to run code at particular intervals. E.g. a console application every day
- Used to trigger and run workloads.
- Mainly recommended for workloads that either scale with the website or are relatively small.
- Can be persistently running if "Always On" selected, otherwise you will get the 20 min timeout.
- The code that needs to be run and schedule are defined together.
Azure Scheduler
- Is not tied to Websites or Cloud Services
- It allows you to call a website or add a message to a storage queue
- Used for triggering events or triggering small workloads (e.g. add to queue), usually to trigger larger workloads
- Mainly recommended for triggering more complex workloads.
- This is only a trigger, and a separate function listening to trigger events (e.g. queue's) needs to be coded separately.
For many instances I prefer to use the scheduler to push to a storage queue and a worker role on each instance takes off the queue. This keeps tasks controlled granularly and can also move up or down in scale outside of your website.
With WebJobs they scale up and down with your site and hence your background tasks can become over taxed if your website is experiencing low traffic and scaled down.

- 16,089
- 6
- 66
- 109
-
WebJobs can be persistently-running and driven by Queues, as well as run at intervals. – Mark Rendle Jun 25 '14 at 16:30
-
This doesn't sum up the differences only provides minimal use cases. – Amit Apple Jun 26 '14 at 18:11
-
@Amit - I updated the answer to include additional information. It is listing mainly features not use cases. The use cases are there for a few examples, I couldn't possibly list the hundreds of use cases applicable for the Scheduler and WebJobs. – Adam Jun 27 '14 at 02:57
Azure Scheduler - Provides a way to easily schedule http calls in a well-defined schedule, like every hour, every Friday at 9:00 am, Once a day, ...
Azure WebJobs - Provides a way to run small to medium work load (in the form of a script: .exe, .cmd, .sh, .js, ...) at the same context of an Azure Website (but can be hosted even with an empty website).
While a WebJob can run continuously (with a process that has a while loop) and Azure will make sure this WebJob is always running (with "Always On" set).
There is also an integration between Azure scheduler and Azure WebJobs where you have a WebJob that is running some finite work and the schduler is responsible for scheduling this work (invoking the WebJob).
So in summary, the scheduler is about scheduling work and WebJobs is about running work load.

- 9,034
- 41
- 50