You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: "An overview of Azure WebJobs, covering its types, supported platforms, file types, scheduling with NCRONTAB expressions, deployment options, and benefits for background processing within Azure App Service."
3
+
description: Learn about Azure WebJobs, including types, supported platforms, file types, scheduling, deployment, and background processing in Azure App Service.
Azure WebJobs is a built-in feature of [Azure App Service](overview.md) that enables you to run background tasks, scripts, and programs alongside your web, API, or mobile applications. WebJobs simplify automation for common operations—such as data processing, image resizing, queue handling, or file cleanup—by running in the same scalable, managed environment as your application.
18
+
Azure WebJobs is a built-in feature of [Azure App Service](overview.md) that enables you to run background tasks, scripts, and programs alongside your web, API, or mobile applications. WebJobs simplify automation for common operationsby running in the same scalable, managed environment as your application. Common operations include data processing, image resizing, queue handling, and file cleanup.
19
19
20
20
## Choosing WebJobs
21
21
22
22
WebJobs are a good fit when:
23
-
- You're already hosting your application on App Service.
23
+
24
+
- You already host your application on App Service.
24
25
- You want to deploy and manage background tasks together with your app.
25
26
- You don't require a separate scaling model or event-based triggers beyond basic scheduling or queue polling.
26
27
@@ -41,7 +42,7 @@ WebJobs come in three main types:
41
42
42
43
-**Triggered WebJobs**: Run on demand or in response to specific events. You can trigger them manually or from a service like Azure Storage.
43
44
-**Scheduled WebJobs**: A specialized type of triggered WebJob that runs on a defined schedule using a `settings.job` file with [NCRONTAB expressions](webjobs-create.md#ncrontab-expressions).
44
-
-**Continuous WebJobs**: Run persistently in the background while your App Service app is running. Ideal for queue polling or background monitoring tasks.
45
+
-**Continuous WebJobs**: Run persistently in the background while your App Service app runs. Ideal for queue polling or background monitoring tasks.
45
46
46
47
:::image type="content" border="false" source="media/overview-webjobs/webjob-types-app-service.png" alt-text="Diagram overview of WebJobs in Azure App Service, showing job types.":::
47
48
@@ -51,43 +52,43 @@ WebJobs come in three main types:
51
52
52
53
You can deploy WebJobs using several methods:
53
54
54
-
-**Azure portal or zip upload**: Manually upload your script or job files.
55
+
-**The Azure portal** or **zip upload**: Manually upload your script or job files.
55
56
-**Visual Studio**: Deploy directly with your ASP.NET app to Windows App Service.
56
-
-**CI/CD pipelines**: Automate deployment with GitHub Actions, Azure DevOps, or Azure CLI.
57
+
-**CI/CD pipelines**: Automate deployment with GitHub Actions, Azure Pipelines, or Azure CLI.
57
58
-**ARM/Bicep templates**: Deploy infrastructure and jobs declaratively.
58
59
59
-
WebJobs also provide **built-in logging**via Kudu and integration with App Service diagnostics to help you monitor job activity and troubleshoot issues.
60
+
WebJobs also provide **built-in logging**by using Kudu and integration with App Service diagnostics to help you monitor job activity and troubleshoot issues.
60
61
61
62
## Scaling considerations
62
63
63
64
WebJobs scale together with your App Service plan. If your app is configured to scale out to multiple instances, your WebJobs run on each instance as appropriate:
64
-
-**Triggered WebJobs** will run on a single instance by default.
65
+
66
+
-**Triggered WebJobs** runs on a single instance by default.
65
67
-**Continuous WebJobs** can be configured to run on all instances or a single one using the `WEBJOBS_RUN_ONCE` setting.
66
68
67
-
If you need independently scalable or event-driven execution, [Azure Functions](../azure-functions/functions-overview.md)may be more appropriate.
69
+
If you need independently scalable or event-driven execution, [Azure Functions](../azure-functions/functions-overview.md)might be more appropriate.
68
70
69
71
## Best practices
70
72
71
73
- Use **triggered** WebJobs for improvised or scheduled operations.
72
-
- Use **continuous** WebJobs only when the task needs to run constantly (e.g., polling a queue).
73
-
- Implement **retry logic and error handling**within your scripts.
74
+
- Use **continuous** WebJobs only when the task needs to run constantly, such as polling a queue.
75
+
- Implement **retry logic** and **error handling**in your scripts.
74
76
- Use **application logging** and **Kudu logs** to monitor job behavior.
75
77
- Keep job logic **separate from main app logic** when possible.
76
-
- Use **storage-based triggers** (e.g., Azure Queues) for reliable, decoupled communication.
77
-
78
+
- Use **storage-based triggers**, such as Azure Queues, for reliable, decoupled communication.
78
79
79
80
## Choose your scenario
80
81
81
82
| Goal | Article |
82
83
|------|---------|
83
-
| Quickly run a scheduled WebJob |[Quickstart: Create a scheduled WebJob](quickstart-webjobs.md)|
84
+
| Quickly run a scheduled WebJob |[Create a scheduled WebJob](quickstart-webjobs.md)|
84
85
| Build a WebJob manually using scripts or code |[Create a WebJob in Azure App Service](webjobs-create.md)|
85
-
| Follow a tutorial using a practical use case |[Tutorial: Run background tasks with WebJobs](tutorial-webjobs.md)|
86
+
| Follow a tutorial using a practical use case |[Build a scheduled WebJob](tutorial-webjobs.md)|
86
87
87
-
## <aname="NextSteps"></a> Next steps
88
+
## <aname="NextSteps"></a> Related content
88
89
89
-
-[Review background jobs best practices – Azure Architecture Center](/azure/architecture/best-practices/background-jobs)
90
-
-[Develop WebJobs using Visual Studio](webjobs-dotnet-deploy-vs.md)
90
+
-[Review background jobs best practices](/azure/architecture/best-practices/background-jobs)
91
+
-[Develop and deploy WebJobs using Visual Studio](webjobs-dotnet-deploy-vs.md)
91
92
-[Get started with the WebJobs SDK](webjobs-sdk-get-started.md)
92
-
-[Use the WebJobs SDK to build advanced jobs](webjobs-sdk-how-to.md)
93
+
-[Use the WebJobs SDK for background processing](webjobs-sdk-how-to.md)
93
94
-[Review Kudu WebJobs reference on GitHub](https://github.com/projectkudu/kudu/wiki/WebJobs)
Copy file name to clipboardExpand all lines: articles/app-service/routine-maintenance.md
+19-17Lines changed: 19 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ author: msangapu-msft
5
5
tags: app-service
6
6
7
7
ms.topic: concept-article
8
-
ms.date: 05/19/2025
8
+
ms.date: 12/02/2025
9
9
ms.update-cycle: 180-days
10
10
ms.author: msangapu
11
11
ms.collection: ce-skilling-ai-copilot
@@ -14,38 +14,38 @@ ms.custom:
14
14
- build-2025
15
15
- sfi-image-nochange
16
16
17
-
# As an App Service user, I want to learn about routine planned maintenance so that I know what to expect.
17
+
#customer intent: As an App Service user, I want to learn about routine planned maintenance so that I know what to expect.
18
18
19
19
---
20
20
21
21
# Routine planned maintenance for Azure App Service
22
22
23
-
Routine maintenance includes behind-the-scenes updates to Azure App Service. These updates may include performance improvements, bug fixes, new features, or security updates. Maintenance can apply to the App Service platform or the underlying operating system.
23
+
Routine maintenance includes behind-the-scenes updates to Azure App Service. These updates can include performance improvements, bug fixes, new features, or security updates. Maintenance can apply to the App Service platform or the underlying operating system.
24
24
25
25
> [!IMPORTANT]
26
26
> A breaking change or deprecation of functionality isn't part of routine maintenance. For more information, see [Modern Lifecycle Policy](/lifecycle/policies/modern).
27
27
28
-
Microsoft's service quality and uptime guarantees continue to apply during maintenance periods. Notifications are provided to give customers visibility into platform changes.
28
+
Microsoft's service quality and uptime guarantees continue to apply during maintenance periods. We notify customers to provide visibility into platform changes.
29
29
30
30
## What to expect
31
31
32
-
Like personal computers, mobile phones, and other devices, machines in the cloud need regular updates. Unlike physical devices, Azure App Service handles routine maintenance with minimal disruption. Workloads can be shifted to updated hardware in seconds, allowing updates to proceed without downtime.
32
+
Like personal computers, mobile phones, and other devices, computers in the cloud need regular updates. Unlike physical devices, Azure App Service handles routine maintenance with minimal disruption. Workloads can be shifted to updated hardware in seconds, which allows updates to proceed without downtime.
33
33
34
-
Maintenance typically occurs monthly but may vary depending on your organization's needs and other factors.
34
+
Maintenance typically occurs monthly but might vary depending on your organization's needs and other factors.
35
35
36
-
Because a typical cloud solution consists of multiple applications, databases, storage accounts, functions, and other resources, parts of your solution may undergo maintenance at different times. This variation can be due to geography, region, datacenters, and availability zones. For more information, see [Safe deployment practices](/devops/operate/safe-deployment-practices).
36
+
Because a typical cloud solution consists of multiple applications, databases, storage accounts, functions, and other resources, parts of your solution might undergo maintenance at different times. This variation can be due to geography, region, datacenters, and availability zones. For more information, see [Safe deployment practices](/devops/operate/safe-deployment-practices).
37
37
38
-
To find maintenance events, search for **Service Health** in the Azure portal. Under **Active Events**, select **Planned maintenance**.
38
+
To find maintenance events, search for **Service Health** in the Azure portal. Under **ACTIVE EVENTS**, select **Planned maintenance**.
39
39
40
40
:::image type="content" source="media/routine-maintenance/routine-maintenance.png" alt-text="Screenshot of a maintenance event in the Azure portal." lightbox="media/routine-maintenance/routine-maintenance.png":::
41
41
42
-
From top to bottom, the example shows:
42
+
The Azure portal provides this information:
43
43
44
44
- A descriptive title of the maintenance event.
45
45
- Affected regions and subscriptions.
46
46
- The expected maintenance window.
47
47
48
-
The following screenshots show additional information available through the **Impacted Resources** tab:
48
+
The following screenshots show information available through the **Impacted Resources** tab:
49
49
50
50
:::image type="content" source="media/routine-maintenance/routine-maintenance-first-page.png" alt-text="Screenshot of the Impacted Resources section in the Azure portal." lightbox="media/routine-maintenance/routine-maintenance-first-page.png":::
51
51
@@ -55,20 +55,20 @@ From left to right, the example shows:
55
55
- The **More info** option.
56
56
57
57
> [!NOTE]
58
-
> Manual initiation of maintenance is not supported for App Service Plans. However, App Service Environments (ASE) do support manual maintenance preferences.
58
+
> Manual initiation of maintenance isn't supported for App Service Plans. App Service Environments (ASE) do support manual maintenance preferences.
59
59
60
60
:::image type="content" source="./media/routine-maintenance/routine-maintenance-more.png" alt-text="Screenshot of more info for a maintenance event in the Azure portal." lightbox="media/routine-maintenance/routine-maintenance-more.png":::
61
61
62
62
This example shows:
63
63
64
64
- The state of the maintenance, which can be pending, started, or completed.
65
-
-Once maintenance starts, timestamps can be viewed under **More info**.
65
+
-After maintenance starts, you can view timestamps under **More info**.
66
66
67
67
## Frequently asked questions
68
68
69
69
### Why is the maintenance taking so long?
70
70
71
-
Routine maintenance delivers the latest updates to the platform and service. It's difficult to predict how maintenance affects individual apps, so notifications provide general time ranges. These ranges reflect the overall operation across all resources, not specific app-level experiences. Apps that undergo maintenance restart on freshly updated machines and continue working. There's no downtime when requests and traffic aren't served.
71
+
Routine maintenance delivers the latest updates to the platform and service. It's difficult to predict how maintenance affects individual apps. Notifications provide general time ranges. These ranges reflect the overall operation across all resources, not specific app-level experiences. Apps that undergo maintenance restart on updated machines and continue to run. There's no downtime when requests and traffic aren't served.
72
72
73
73
### Why am I getting so many notifications?
74
74
@@ -78,7 +78,7 @@ Customers often have multiple applications that are upgraded at different times.
78
78
79
79
Platform maintenance shouldn't affect application uptime or availability. Applications continue to stay online while platform maintenance occurs.
80
80
81
-
Platform maintenance might cause applications to be cold started on new virtual machines, which can lead to delays. An application is still considered to be online while it's coldstarting. To minimize or avoid cold starts, consider using [local cache for Windows apps](overview-local-cache.md) and [health check](monitor-instances-health-check.md).
81
+
Platform maintenance might cause applications to be started cold on new virtual machines, which can lead to delays. An application is still considered to be online while it's cold-starting. To minimize or avoid cold starts, consider using [local cache for Windows apps](overview-local-cache.md) and [health check](monitor-instances-health-check.md).
82
82
83
83
We don't expect sites to incur any service-level agreement (SLA) violations during the maintenance windows.
84
84
@@ -90,11 +90,13 @@ Maintenance operations upgrade machines iteratively while App Service monitors t
90
90
91
91
### Are business hours reflected?
92
92
93
-
Yes, business hours are reflected for the time zone of the region. Maintenance operations are optimized to start outside the standard business hours of 9 AM to 5 PM. Statistically, that's the best time for any interruptions and restarts of workloads because there's less stress on the system (in customer applications and transitively on the platform itself). App Service maintenance is designed to minimize disruption during business hours. If any upgrades are still in progress by 9 AM in a given region, they will attempt to pause before reaching critical phases. Some underlying instance movements may continue, but they are orchestrated to overlap safely and maintain site availability.
93
+
Yes, business hours are reflected for the time zone of the region. Maintenance operations are optimized to start outside the standard business hours of 9 AM to 5 PM. Statistically, that's the best time for any interruptions and restarts of workloads. There's less stress on the system in customer applications and on the platform itself.
94
+
95
+
App Service maintenance is designed to minimize disruption during business hours. If any upgrades are still in progress by 9 AM in a given region, they attempt to pause before reaching critical phases. Some underlying instance movements might continue, but they're orchestrated to overlap safely and maintain site availability.
94
96
95
97
### What are my options to control routine maintenance?
96
98
97
-
If you run your workloads in an isolated product via App Service Environment v3, you can schedule the upgrades if necessary. For more information about this capability, see the blog post [Control and automate planned maintenance for App Service Environment v3](https://azure.github.io/AppService/2022/09/15/Configure-automation-for-upgrade-preferences-in-App-Service-Environment.html).
99
+
If you run your workloads in an isolated product by using App Service Environment v3, you can schedule the upgrades if necessary. For more information about this capability, see the blog post [Control and automate planned maintenance for App Service Environment v3](https://azure.github.io/AppService/2022/09/15/Configure-automation-for-upgrade-preferences-in-App-Service-Environment.html).
98
100
99
101
### Can I prepare my apps better for restarts?
100
102
@@ -104,7 +106,7 @@ You can use health check to inform the platform that your application isn't read
104
106
105
107
### My applications have been online, but things are worse since these notifications started showing up. What changed?
106
108
107
-
Updates and maintenance events have been happening to the platform since its inception. The frequency of updates has decreased over time, so the number of interruptions has also decreased and uptime has increased. However, you now have more visibility into all changes. Increased visibility might cause the perception that more changes are happening.
109
+
Updates and maintenance events have been happening to the platform since its inception. The frequency of updates decreased over time. The number of interruptions also decreased and uptime increased. However, you now have more visibility into all changes. Increased visibility might cause the perception that more changes are happening.
0 commit comments