-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
82106ba
commit 96e86eb
Showing
1 changed file
with
8 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,16 @@ | ||
# LLL.DurableTask.EFCore [](https://www.nuget.org/packages/LLL.DurableTask.EFCore/) | ||
|
||
Relational database storage using EFCore. | ||
|
||
The implementation uses a combination of **row locking**, **skip locked** and **polling** to implement queues. | ||
LLL.DurableTask.EFCore provides relational database storage for Durable Task using Entity Framework Core (EFCore). This implementation leverages **row locking**, **skip locked**, and **polling** to create reliable and efficient task queues. | ||
|
||
## Features | ||
|
||
Besides all features defined by Durable Task framework, this storage also supports the extra features described below. | ||
In addition to the standard features offered by the Durable Task framework, LLL.DurableTask.EFCore includes the following enhancements: | ||
|
||
| Feature | Description | | ||
| - | - | | ||
| Distributed workers | Split your orchestation and activities into multiple micro-services, they all connect to same database and cooperatively executes all tasks to complete workflows. | | ||
| Store all inputs/outputs | All inputs and outputs are stored as workflow events, this makes it easier to understand the flow using the UI, and also allow us to do better rewind algorithm. | | ||
| Improved rewind | We've implemented a top notch rewind algorithm. More info in [this comment](https://github.com/Azure/durabletask/issues/811#issuecomment-1324391970) | | ||
| Tags | Orhcestration tags are persisted and can be seen in UI | | ||
| State per execution | We keep the state of all executions of a workflow instance and you can view all executions in the UI | | ||
| Unmissable events | Reopen orchestrations when they receive events. This allows you to implement orchestrations that never miss events without having to implement "eternal orchestrations" using continue as new. More info at https://github.com/lucaslorentz/durabletask-extensions/pull/6 | | ||
| Distributed workers | Distribute your orchestrations and activities across multiple microservices, each dedicated to specific types of tasks. These microservices connect to a shared database and collaboratively execute tasks to complete workflows efficiently and reliably. | | ||
| Store all inputs/outputs | All inputs and outputs are stored as workflow events. This enhances visibility into the workflow's execution through the UI and supports a more robust rewind algorithm. | | ||
| Improved rewind | We have implemented an advanced rewind algorithm. For more details, refer to [this comment](https://github.com/Azure/durabletask/issues/811#issuecomment-1324391970). | | ||
| Tags | Orchestration tags are persisted and displayed in the UI, providing better workflow organization and tracking. | | ||
| State per execution | The state of each execution of a workflow instance is preserved, allowing you to view all executions in the UI. | | ||
| Guaranteed Event Delivery | Orchestrations reopen when they receive events, ensuring that no events are missed. This allows you to implement reliable orchestrations without needing to use "eternal orchestrations" via continue-as-new. More information is available at [this pull request](https://github.com/lucaslorentz/durabletask-extensions/pull/6). | |