Azure Scheduler allows you to declaratively describe actions to run in the cloud. It then schedules and runs those actions automatically. Scheduler does this by using the Azure portal, code, REST API, or Azure PowerShell.
Scheduler creates, maintains, and invokes scheduled work. Scheduler does not host any workloads or run any code. It only invokes code hosted elsewhere—in Azure, on-premises, or with another provider. It invokes via HTTP, HTTPS, a storage queue, a service bus queue, or a service bus topic.
Scheduler schedules jobs, keeps a history of job execution results that one can review, and deterministically and reliably schedules workloads to be run. Azure WebJobs (part of the Web Apps feature in Azure App Service) and other Azure scheduling capabilities use Scheduler in the background. The Scheduler REST API helps manage the communication for these actions. As such, Scheduler supports complex schedules and advanced recurrence easily.
There are several scenarios that lend themselves to the usage of Scheduler. For example:
- Recurring application actions: Periodically gathering data from Twitter into a feed.
- Daily maintenance: Daily pruning of logs, performing backups, and other maintenance tasks. For example, an administrator may choose to back up the database at 1:00 A.M. every day for the next nine months.
Scheduler allows you to create, update, delete, view, and manage jobs and job collections programmatically, by using scripts, and in the portal.