|
11 | 11 | </p> |
12 | 12 |
|
13 | 13 | # Cleipnir.NET / Cleipnir Flows |
14 | | -Cleipnir is a powerful **durable execution** .NET framework - ensuring your code will always execute to completetion **correctly**. |
| 14 | +Cleipnir is a powerful **durable execution** .NET framework - ensuring your code will always execute to completion **correctly**. |
15 | 15 | * Makes C#-code behave correctly after a crash, restart or suspension |
16 | 16 | * Wait for external events directly inside your code |
17 | 17 | * Suspend code execution for minutes, hours, weeks or longer |
18 | 18 | * Requires only a database |
19 | 19 | * Great performance compared to external workflow orchestration |
20 | 20 | * Use with ASP.NET / generic host service |
21 | 21 | * Integrates easily with all message-brokers and service-buses |
22 | | -* Removes need for **saga-pattern** and **outbox-pattern** |
23 | | -* Powerful alterrnative to job-schedulers (HangFire, Quartz) |
| 22 | +* Removes the need for **saga-pattern** and **outbox-pattern** |
| 23 | +* Powerful alternative to job-schedulers (HangFire, Quartz) |
24 | 24 |
|
25 | 25 | ## Abstractions |
26 | 26 | Cleipnir.NET provides the following 3 abstractions: |
27 | 27 | ### Capture |
28 | | -Remembers the result of arbitary code: |
| 28 | +Remembers the result of arbitrary code: |
29 | 29 | ```csharp |
30 | 30 | var transactionId = await Capture("TransactionId", () => Guid.NewGuid()); |
31 | 31 | //or simply |
32 | 32 | var transactionId = await Capture(Guid.NewGuid); |
33 | 33 | ``` |
34 | 34 | ### Messages |
35 | | -Wait for retrival of external message - without taking up resources: |
| 35 | +Wait for retrieval of external message - without taking up resources: |
36 | 36 | ```csharp |
37 | 37 | var fundsReserved = await Messages<FundsReserved>(timesOutIn: TimeSpan.FromMinutes(5)); |
38 | 38 | ``` |
@@ -97,7 +97,7 @@ public class OrderFlow( |
97 | 97 | Durable execution is an emerging paradigm for simplifying the implementation of code which can safely resume execution after a process crash or restart (i.e. after a production deployment). |
98 | 98 | It allows the developer to implement such code using ordinary C#-code with loops, conditionals and so on. |
99 | 99 |
|
100 | | -Furthermore, durable execution allows suspending code execution for an arbitraty amount of time - thereby saving process resources. |
| 100 | +Furthermore, durable execution allows suspending code execution for an arbitrary amount of time - thereby saving process resources. |
101 | 101 |
|
102 | 102 | Essentially, durable execution works by saving state at explicitly defined points during the invocation of code, thereby allowing the framework to skip over previously executed parts of the code when/if the code is re-executed. This occurs both after a crash and suspension. |
103 | 103 |
|
|
0 commit comments