Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
lucaslorentz authored Jun 2, 2024
1 parent 82106ba commit 96e86eb
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions src/LLL.DurableTask.EFCore/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
# LLL.DurableTask.EFCore [![Nuget](https://img.shields.io/nuget/v/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). |

0 comments on commit 96e86eb

Please sign in to comment.