|
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