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-functions-azure-storage-provider.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -232,7 +232,7 @@ Keep these considerations in mind when choosing the storage account for your Dur
232
232
233
233
- For performance-sensitive workloads, configure a storage account other than the default account (`AzureWebJobsStorage`). Since Durable Functions uses Azure Storage heavily, using a dedicated storage account isolates Durable Functions storage usage from the internal usage by the Azure Functions host.
234
234
- You need standard general purpose Azure Storage accounts when using the Azure Storage provider. All other storage account types aren't currently supported.
235
-
- Legacy v1 general purpose storage accounts for Durable Functions is recommended. The newer v2 storage accounts can be more expensive for Durable Functions workloads. [Learn more about Azure Storage account types](../../storage/common/storage-account-overview.md).
235
+
- Legacy v1 general purpose storage accounts for Durable Functions are recommended. The newer v2 storage accounts can be more expensive for Durable Functions workloads. [Learn more about Azure Storage account types](../../storage/common/storage-account-overview.md).
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-perf-and-scale.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -166,7 +166,7 @@ The following table shows which queues each storage provider partitions and the
166
166
|**Documentation**| See [Orchestrator scale-out](durable-functions-azure-storage-provider.md#orchestrator-scale-out)| See [Partition count considerations](https://microsoft.github.io/durabletask-netherite/#/settings?id=partition-count-considerations)| n/a |
167
167
168
168
> [!WARNING]
169
-
> You can't change the partition count after you create a task hub. Set it high enough to meet expected scaleout requirements for the task hub instance.
169
+
> You can't change the partition count after you create a task hub. Set it high enough to meet expected scale-out requirements for the task hub instance.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-task-hubs.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -192,33 +192,33 @@ After this orchestration is initiated by a client, the application processes it
192
192
193
193
1. A client requests to start a new orchestration with instance-id "123". After the client completes this request, the task hub contains a placeholder for the orchestration state and an instance message:
:::image type="content" source="./media/durable-functions-task-hubs/work-items-1.png" alt-text="Diagram showing task hub state after orchestration start request (step 1).":::
196
196
197
197
The label `ExecutionStarted` is one of many [history event types](https://github.com/Azure/durabletask/tree/main/src/DurableTask.Core/History#readme) that identify the various types of messages and events participating in an orchestration's history.
198
198
199
199
2. A worker executes an *orchestrator work item* to process the `ExecutionStarted` message. It calls the orchestrator function which starts executing the orchestration code. This code schedules two activities and then stops executing when it is waiting for the results. After the worker commits this work item, the task hub contains
:::image type="content" source="./media/durable-functions-task-hubs/work-items-2.png" alt-text="Diagram showing task hub state after first orchestrator work item commit (step 2).":::
202
202
203
203
The runtime state is now `Running`, two new `TaskScheduled` messages were added, and the history now contains the five events `OrchestratorStarted`, `ExecutionStarted`, `TaskScheduled`, `TaskScheduled`, `OrchestratorCompleted`. These events represent the first episode of this orchestration's execution.
204
204
205
205
3. A worker executes an *activity work item* to process one of the `TaskScheduled` messages. It calls the activity function with input "2". When the activity function completes, it creates a `TaskCompleted` message containing the result. After the worker commits this work item, the task hub contains
:::image type="content" source="./media/durable-functions-task-hubs/work-items-3.png" alt-text="Diagram showing task hub state after first activity work item commit (step 3).":::
208
208
209
209
4. A worker executes an *orchestrator work item* to process the `TaskCompleted` message. If the orchestration is still cached in memory, it can just resume execution. Otherwise, the worker first [replays the history to recover the current state of the orchestration](durable-functions-orchestrations.md#reliability). Then it continues the orchestration, delivering the result of the activity. After receiving this result, the orchestration is still waiting for the result of the other activity, so it once more stops executing. After the worker commits this work item, the task hub contains
:::image type="content" source="./media/durable-functions-task-hubs/work-items-4.png" alt-text="Diagram showing task hub state after second orchestrator work item commit (step 4).":::
212
212
213
213
The orchestration history now contains three more events `OrchestratorStarted`, `TaskCompleted`, `OrchestratorCompleted`. These events represent the second episode of this orchestration's execution.
214
214
215
215
5. A worker executes an *activity work item* to process the remaining `TaskScheduled` message. It calls the activity function with input "1". After the worker commits this work item, the task hub contains
:::image type="content" source="./media/durable-functions-task-hubs/work-items-5.png" alt-text="Diagram showing task hub state after second activity work item commit (step 5).":::
218
218
219
219
6. A worker executes another *orchestrator work item* to process the `TaskCompleted` message. After receiving this second result, the orchestration completes. After the worker commits this work item, the task hub contains
:::image type="content" source="./media/durable-functions-task-hubs/work-items-6.png" alt-text="Diagram showing task hub state after final orchestrator work item commit (step 6).":::
222
222
223
223
The runtime state is now `Completed`, and the orchestration history now contains four more events `OrchestratorStarted`, `TaskCompleted`, `ExecutionCompleted`, `OrchestratorCompleted`. These events represent the third and final episode of this orchestration's execution.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-zero-downtime-deployment.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ For detailed configuration and implementation guidance, see [Orchestration versi
50
50
51
51
Define new versions of your functions and leave the old versions in your function app. As you can see in the diagram, a function's version becomes part of its name. Because previous versions of functions are preserved, in-flight orchestration instances can continue to reference them. Meanwhile, requests for new orchestration instances call for the latest version, which your orchestration client function can reference from an app setting.
:::image type="content" source="media/durable-functions-zero-downtime-deployment/versioning-strategy.png" alt-text="Diagram showing the name-based versioning strategy for Durable Functions.":::
54
54
55
55
In this strategy, every function must be copied, and its references to other functions must be updated. You can make it easier by writing a script. Here's a [sample project](https://github.com/TsuyoshiUshio/DurableVersioning) with a migration script.
56
56
@@ -75,7 +75,7 @@ Use the following procedure to set up this scenario.
75
75
76
76
The following diagram shows the described configuration of deployment slots and storage accounts. In this potential predeployment scenario, version 2 of a function app is running in the production slot, while version 1 remains in the staging slot.
77
77
78
-
:::image type="content" source="media/durable-functions-zero-downtime-deployment/deployment-slot.png" alt-text="Deployment slots and storage accounts":::
78
+
:::image type="content" source="media/durable-functions-zero-downtime-deployment/deployment-slot.png" alt-text="Diagram showing deployment slots and storage accounts before slot swap.":::
79
79
80
80
### host.json examples
81
81
@@ -130,21 +130,21 @@ public static async Task<IActionResult> StatusCheck(
130
130
131
131
Next, configure the staging gate to wait until no orchestrations are running. For more information, see [Release deployment control using gates](/azure/devops/pipelines/release/approvals/gates)
:::image type="content" source="media/durable-functions-zero-downtime-deployment/deployment-slot-2.png" alt-text="Diagram showing the new app version deployed to the staging slot.":::
142
142
143
143
Finally, swap slots.
144
144
145
145
Application settings that aren't marked as deployment slot settings are also swapped, so the version 2 app keeps its reference to storage account A. Because orchestration state is tracked in the storage account, any orchestrations running on the version 2 app continue to run in the new slot without interruption.
:::image type="content" source="media/durable-functions-zero-downtime-deployment/deployment-slot-3.png" alt-text="Diagram showing slot swap completion with app settings moved to production.":::
148
148
149
149
To use the same storage account for both slots, you can change the names of your task hubs. In this case, you need to manage the state of your slots and your app's HubName settings. To learn more, see [Task hubs in Durable Functions](durable-functions-task-hubs.md).
150
150
@@ -166,17 +166,17 @@ The first time an orchestration request is received, the router does the followi
166
166
167
167
The router manages the state of which version of your app's code is deployed to which function app in Azure.
The router directs deployment and orchestration requests to the appropriate function app based on the version sent with the request. It ignores the patch version.
172
172
173
173
When you deploy a new version of your app without a breaking change, you can increment the patch version. The router deploys to your existing function app and sends requests for the old and new versions of the code, which are routed to the same function app.
174
174
175
-
:::image type="content" source="media/durable-functions-zero-downtime-deployment/application-routing-2.png" alt-text="Application routing (no breaking change)":::
175
+
:::image type="content" source="media/durable-functions-zero-downtime-deployment/application-routing-2.png" alt-text="Diagram showing application routing when there is no breaking change.":::
176
176
177
177
When you deploy a new version of your app with a breaking change, you can increment the major or minor version. Then the application router creates a new function app in Azure, deploys to it, and routes requests for the new version of your app to it. In the following diagram, running orchestrations on the 1.0.1 version of the app keep running, but requests for the 1.1.0 version are routed to the new function app.
:::image type="content" source="media/durable-functions-zero-downtime-deployment/application-routing-3.png" alt-text="Diagram showing application routing for a deployment with breaking changes.":::
180
180
181
181
The router monitors the status of orchestrations on the 1.0.1 version and removes apps after all orchestrations are finished.
182
182
@@ -186,7 +186,7 @@ Each function app should use separate scheduling queues, possibly in separate st
186
186
187
187
For more information, see [Manage instances in Durable Functions in Azure](durable-functions-instance-management.md).
188
188
189
-
:::image type="content" source="media/durable-functions-zero-downtime-deployment/tracking-store-settings.png" alt-text="Tracking store settings":::
189
+
:::image type="content" source="media/durable-functions-zero-downtime-deployment/tracking-store-settings.png" alt-text="Diagram showing shared tracking store settings across versioned function apps.":::
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-task-scheduler/durable-task-schedulers-schedules.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -211,7 +211,7 @@ Monitor scheduled orchestrations using the [Durable Task Scheduler dashboard](./
211
211
212
212
Explore complete working examples that demonstrate schedule operations.
213
213
214
-
-[Schedule console app](https://github.com/microsoft/durabletask-dotnet/tree/main/samples/ScheduleConsoleApp): A Demonstrates how to create, pause, resume, and list schedules in a console application.me, delete, and list endpoints.
214
+
-[Schedule console app](https://github.com/microsoft/durabletask-dotnet/tree/main/samples/ScheduleConsoleApp): Demonstrates how to create, pause, resume, delete, and list schedules in a console application.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/quickstart-js-vscode.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -262,7 +262,7 @@ Azure Functions Core Tools gives you the capability to run an Azure Functions pr
262
262
263
263
4. In the terminal panel, copy the URL endpoint of your HTTP-triggered function.
264
264
265
-
:::image type="content" source="media/quickstart-js-vscode/functions-f5.png" alt-text="Screenshot of the Visual Studio code terminal panel. The terminal shows the output of running a Durable Functions app locally.":::
265
+
:::image type="content" source="media/quickstart-js-vscode/functions-f5.png" alt-text="Screenshot of the Visual Studio Code terminal panel. The terminal shows the output of running a Durable Functions app locally.":::
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/quickstart-powershell-vscode.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ Use Durable Functions, a feature of [Azure Functions](../functions-overview.md),
15
15
16
16
In this quickstart, you use the Durable Functions extension in Visual Studio Code to locally create and test a "hello world" Durable Functions app in Azure Functions. The Durable Functions app orchestrates and chains together calls to other functions. Then, you publish the function code to Azure. The tools you use are available via the Visual Studio Code extension.
17
17
18
-
:::image type="content" source="./media/quickstart-js-vscode/functions-vs-code-complete.png" alt-text="Running a Durable Functions app in Azure.":::
18
+
:::image type="content" source="./media/quickstart-js-vscode/functions-vs-code-complete.png" alt-text="Screenshot showing a Durable Functions app in Visual Studio Code.":::
0 commit comments