Skip to content

Commit 9de53dc

Browse files
Merge pull request #309236 from MicrosoftDocs/main
Auto Publish – main to live - 2025-12-09 23:00 UTC
2 parents 073a6f7 + be824e3 commit 9de53dc

33 files changed

Lines changed: 815 additions & 543 deletions
-49.5 KB
Loading
Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
title: "App Service WebJobs Overview"
3-
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.
44
keywords: "Azure WebJobs, App Service, background processing, triggered jobs, continuous jobs, NCRONTAB, deployment, Azure, technical overview"
55
ms.topic: overview
6-
ms.date: 5/2/2025
6+
ms.date: 11/19/2025
77
ms.update-cycle: 180-days
88
author: msangapu-msft
99
ms.author: msangapu
@@ -15,12 +15,13 @@ ms.service: azure-app-service
1515

1616
# App Service WebJobs overview
1717

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 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 operations by running in the same scalable, managed environment as your application. Common operations include data processing, image resizing, queue handling, and file cleanup.
1919

2020
## Choosing WebJobs
2121

2222
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.
2425
- You want to deploy and manage background tasks together with your app.
2526
- You don't require a separate scaling model or event-based triggers beyond basic scheduling or queue polling.
2627

@@ -41,7 +42,7 @@ WebJobs come in three main types:
4142

4243
- **Triggered WebJobs**: Run on demand or in response to specific events. You can trigger them manually or from a service like Azure Storage.
4344
- **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.
4546

4647
:::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.":::
4748

@@ -51,43 +52,43 @@ WebJobs come in three main types:
5152

5253
You can deploy WebJobs using several methods:
5354

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.
5556
- **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.
5758
- **ARM/Bicep templates**: Deploy infrastructure and jobs declaratively.
5859

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.
6061

6162
## Scaling considerations
6263

6364
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.
6567
- **Continuous WebJobs** can be configured to run on all instances or a single one using the `WEBJOBS_RUN_ONCE` setting.
6668

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.
6870

6971
## Best practices
7072

7173
- 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.
7476
- Use **application logging** and **Kudu logs** to monitor job behavior.
7577
- 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.
7879

7980
## Choose your scenario
8081

8182
| Goal | Article |
8283
|------|---------|
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) |
8485
| 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) |
8687

87-
## <a name="NextSteps"></a> Next steps
88+
## <a name="NextSteps"></a> Related content
8889

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)
9192
- [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)
9394
- [Review Kudu WebJobs reference on GitHub](https://github.com/projectkudu/kudu/wiki/WebJobs)

articles/app-service/routine-maintenance.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: msangapu-msft
55
tags: app-service
66

77
ms.topic: concept-article
8-
ms.date: 05/19/2025
8+
ms.date: 12/02/2025
99
ms.update-cycle: 180-days
1010
ms.author: msangapu
1111
ms.collection: ce-skilling-ai-copilot
@@ -14,38 +14,38 @@ ms.custom:
1414
- build-2025
1515
- sfi-image-nochange
1616

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.
1818

1919
---
2020

2121
# Routine planned maintenance for Azure App Service
2222

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.
2424

2525
> [!IMPORTANT]
2626
> A breaking change or deprecation of functionality isn't part of routine maintenance. For more information, see [Modern Lifecycle Policy](/lifecycle/policies/modern).
2727
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.
2929

3030
## What to expect
3131

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.
3333

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.
3535

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).
3737

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**.
3939

4040
:::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":::
4141

42-
From top to bottom, the example shows:
42+
The Azure portal provides this information:
4343

4444
- A descriptive title of the maintenance event.
4545
- Affected regions and subscriptions.
4646
- The expected maintenance window.
4747

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:
4949

5050
:::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":::
5151

@@ -55,20 +55,20 @@ From left to right, the example shows:
5555
- The **More info** option.
5656

5757
> [!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.
5959
6060
:::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":::
6161

6262
This example shows:
6363

6464
- 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**.
6666

6767
## Frequently asked questions
6868

6969
### Why is the maintenance taking so long?
7070

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.
7272

7373
### Why am I getting so many notifications?
7474

@@ -78,7 +78,7 @@ Customers often have multiple applications that are upgraded at different times.
7878

7979
Platform maintenance shouldn't affect application uptime or availability. Applications continue to stay online while platform maintenance occurs.
8080

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 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).
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).
8282

8383
We don't expect sites to incur any service-level agreement (SLA) violations during the maintenance windows.
8484

@@ -90,11 +90,13 @@ Maintenance operations upgrade machines iteratively while App Service monitors t
9090

9191
### Are business hours reflected?
9292

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.
9496

9597
### What are my options to control routine maintenance?
9698

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).
98100

99101
### Can I prepare my apps better for restarts?
100102

@@ -104,7 +106,7 @@ You can use health check to inform the platform that your application isn't read
104106

105107
### My applications have been online, but things are worse since these notifications started showing up. What changed?
106108

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.
108110

109111
## Related content
110112

0 commit comments

Comments
 (0)