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
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-task-scheduler/durable-task-scheduler.md
+31-23Lines changed: 31 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ The Durable Task Scheduler provides durable execution in Azure. Durable executio
18
18
Azure provides two developer-oriented orchestration frameworks you can use to build stateful apps that run on any compute environment, without the need to architect for fault tolerance. You can use the Durable Task Scheduler with the following orchestration frameworks:
19
19
20
20
- Durable Functions
21
-
- Durable Task SDKs, or "portable SDKs"
21
+
- Durable Task SDKs
22
22
23
23
[Learn which orchestration works better for your project.](./choose-orchestration-framework.md)
24
24
@@ -41,16 +41,16 @@ The following diagram shows the architecture of the Durable Task Scheduler backe
41
41
The Durable Task Scheduler runs in Azure as a separate resource from your app. This isolation is important for several reasons:
42
42
43
43
-**Reduced resource consumption**
44
-
Using a managed scheduler like Durable Task Scheduler reduces CPU and memory resource consumption caused by the overhead of managing partitions and other complex state store interactions. Using a managed scheduler (instead of a BYO storage provider, for example) allows your app instances to run more efficiently with less resource contention.
44
+
Using a managed scheduler like Durable Task Scheduler (instead of a BYO storage provider) reduces CPU and memory resource consumption caused by the overhead of managing partitions and other complex state store interactions.
45
45
46
46
-**Fault isolation**
47
-
When Durable Task Scheduler experiences stability or availability issues, it won't affect the stability or availability of your connected apps. By separating the scheduler from the app, you can reduce the risk of cascading failures and improve overall reliability.
47
+
Separating the scheduler from the app reduces the risk of cascading failures and improves overall reliability in your connected apps.
48
48
49
49
-**Independent scaling**
50
-
The scheduler resource can be scaled independently of the app, allowing for better infrastructure resource management and cost optimization. For example, multiple apps can share the same scheduler resource, improving overall resource utilization. This capability is especially useful for organizations with multiple teams or projects.
50
+
The scheduler resource can be scaled independently of the appfor better infrastructure resource management and cost optimization. For example, multiple apps can share the same scheduler resource, which is helpful for organizations with multiple teams or projects.
51
51
52
52
-**Improved support experience**
53
-
The Durable Task Scheduler is a managed service, providing a more streamlined support and diagnostics for issues regarding the underlying infrastructure.
53
+
The Durable Task Scheduler is a managed service, providing streamlined support and diagnostics for issues regarding the underlying infrastructure.
54
54
55
55
### App connectivity
56
56
@@ -60,7 +60,7 @@ Work items are streamed from the scheduler to the app using a push model, improv
60
60
61
61
### State management
62
62
63
-
The Durable Task Scheduler manages the state of orchestrations and entities internally, without a separate storage account for state management. The internal state store is highly optimized for use with Durable Functions and the portable SDKs, resulting in better durability and reliability and reduced latency.
63
+
The Durable Task Scheduler manages the state of orchestrations and entities internally, without a separate storage account for state management. The internal state store is highly optimized for use with Durable Functions and the Durable Task SDKs, resulting in better durability and reliability and reduced latency.
64
64
65
65
The scheduler uses a combination of in-memory and persistent internal storage to manage state.
66
66
- The in-memory store is used for short-lived state.
@@ -76,30 +76,26 @@ When a scheduler resource is created, a corresponding dashboard is provided out-
76
76
- Quickly filter by different criteria.
77
77
- Gather data about an orchestration instance, such as status, duration, input/output, etc.
78
78
- Drill into an instance to get data about sub-orchestrations and activities.
79
+
- Perform management operations, such as pausing, terminating, or restarting an orchestration instance.
79
80
80
-
Aside from monitoring, you can also perform management operations on the dashboard, such as pausing, terminating, or restarting an orchestration instance.
81
+
Access to the dashboard is secured by [identity and role-based access controls](./durable-task-scheduler-identity.md).
81
82
82
-
Access to the dashboard is secured by identity and role-based access controls.
83
-
84
-
For more information about the dashboard, see [Debug and manage orchestrations using the Durable Task Scheduler dashboard](./durable-task-scheduler-dashboard.md).
83
+
For more information, see [Debug and manage orchestrations using the Durable Task Scheduler dashboard](./durable-task-scheduler-dashboard.md).
85
84
86
85
### Multiple task hubs
87
86
88
-
> [!TIP]
89
-
> Optimize cost when using the Durable Task Scheduler by creating multiple task hubs in the same scheduler instance so that multiple apps or environments can share one resource.
90
-
91
87
State is durably persisted in a *task hub*. A [task hub](../durable-functions-task-hubs.md):
92
88
- Is a logical container for orchestration and entity instances.
93
89
- Provides a way to partition the state store.
94
90
95
-
With one scheduler instance, you can create multiple task hubs that can be used by different apps. Each task hub gets its own [monitoring dashboard](./durable-task-scheduler-dashboard.md). To access a task hub, the caller's identity *must* have the required role-based access control (RBAC) permissions.
91
+
With one scheduler instance, you can create multiple task hubs that can be used by different apps. Each task hub gets its own [monitoring dashboard](./durable-task-scheduler-dashboard.md). To access a task hub, [the caller's identity *must* have the required role-based access control (RBAC) permissions](./durable-task-scheduler-identity.md).
96
92
97
93
Creating multiple task hubs isolates different workloads that can be managed independently. For example, you can:
98
94
- Create a task hub for each environment (dev, test, prod).
99
95
- Create task hubs for different teams within your organization.
100
96
- Share the same scheduler instance across multiple apps.
101
97
102
-
Scheduler sharing is a great way to optimize cost when multiple teams have scenarios requiring orchestrations. You can create an unlimited number of task hubs in one scheduler instance. However, task hubs under the same scheduler instance share the same resources, so if one task hub is heavily loaded, it might affect the performance of the other task hubs.
98
+
Scheduler sharing is a great way to optimize cost when multiple teams have scenarios requiring orchestrations. Although you can create unlimited task hubs in one scheduler instance, they share the same resources; if one task hub is heavily loaded, it might affect the performance of the other task hubs.
103
99
104
100
### Emulator for local development
105
101
@@ -128,17 +124,23 @@ Large volumes of completed orchestration instance data can lead to storage bloat
128
124
129
125
## Limitations and considerations
130
126
131
-
-**Available regions:** Durable Task Scheduler resources can be created in a subset of Azure regions today. You can run the following command to get a list of the supported regions:
127
+
-**Available regions:**
128
+
129
+
Durable Task Scheduler resources can be created in a subset of Azure regions today. You can run the following command to get a list of the supported regions:
132
130
133
131
```bash
134
132
az provider show --namespace Microsoft.DurableTask --query "resourceTypes[?resourceType=='schedulers'].locations | [0]" --out table
135
133
```
136
134
137
-
Consider using the same region foryour Durable Functions app and the Durable Task Scheduler resources. Having these resourcesin different regions might impact performance and limit certain network-related functionality.
135
+
Consider using the same region for your Durable Functions app and the Durable Task Scheduler resources to optimize performance and certain network-related functionality.
136
+
137
+
- **Scheduler quota:**
138
138
139
-
- **Scheduler quota:** You can currently create up to **five schedulers per region** per subscription.
139
+
You can currently create up to **five schedulers per region** per subscription.
140
140
141
-
- **Max payload size:** The Durable Task Scheduler has a maximum payload size restriction for the following JSON-serialized data types:
141
+
- **Max payload size:**
142
+
143
+
The Durable Task Scheduler has a maximum payload size restriction for the following JSON-serialized data types:
142
144
143
145
| Data type| Max size |
144
146
| --------- | -------- |
@@ -148,7 +150,9 @@ Large volumes of completed orchestration instance data can lead to storage bloat
148
150
| Orchestration custom status | 1 MB |
149
151
| Entity state | 1 MB |
150
152
151
-
- **Feature parity:** Some features might not be available in the Durable Task Scheduler backend yet. For example, at the time of writing, the Durable Task Scheduler doesn't support the following features:
153
+
- **Feature parity:**
154
+
155
+
Some features might not be available in the Durable Task Scheduler backend yet, such as:
@@ -159,11 +163,15 @@ Large volumes of completed orchestration instance data can lead to storage bloat
159
163
160
164
### Specific to Durable Task Scheduler for Durable Functions
161
165
162
-
- **Supported hosting plans**: The Durable Task Scheduler currently only supports Durable Functions running on *Functions Premium* and *App Service* plans. For apps running on the Functions Premium plan, you must [enable the *Runtime Scale Monitoring* setting](./develop-with-durable-task-scheduler.md#auto-scaling-in-functions-premium-plan) to get auto scaling of the app.
166
+
- **Supported hosting plans:**
167
+
168
+
The Durable Task Scheduler currently only supports Durable Functions running on *Functions Premium* and *App Service* plans. For apps running on the Functions Premium plan, you must [enable the *Runtime Scale Monitoring* setting](./develop-with-durable-task-scheduler.md#auto-scaling-in-functions-premium-plan) to get auto scaling of the app.
169
+
170
+
The *Consumption*, *Flex Consumption*, and *Azure Container App* hosting plans aren't yet supported when using the Durable Task Scheduler.
163
171
164
-
The *Consumption*, *Flex Consumption*, and *Azure Container App* hosting plans aren't yet supported when using the Durable Task Scheduler.
172
+
- **Migrating [task hub data](../durable-functions-task-hubs.md) across backend providers:**
165
173
166
-
- **Migrating [task hub data](../durable-functions-task-hubs.md) across backend providers:** Currently, migrating across providers isn't supported. Function apps that have existing runtime data need to start with a fresh, empty task hub after they switch to the Durable Task Scheduler. Similarly, the task hub contents that are created by using the scheduler resource can't be preserved if you switch to a different backend provider.
174
+
Currently, migrating across providers isn't supported. Function apps that have existing runtime data need to start with a fresh, empty task hub after they switch to the Durable Task Scheduler. Similarly, the task hub contents that are created by using the scheduler resource can't be preserved if you switch to a different backend provider.
0 commit comments