Skip to content

Commit 9710473

Browse files
authored
Update README.md
1 parent 82f175b commit 9710473

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,27 @@
2424
* 🗓️ **A powerful job-scheduler alternative** - to traditional job schedulers (Hangfire, Quartz, etc.).
2525

2626
## Abstractions
27-
Cleipnir.NET provides the following 3 abstractions:
27+
The following **three** primitives form the foundation of Cleipnir.NET — together they allow you to express reliable business workflows as **plain** C# code that **cannot fail**.
28+
2829
### Capture
29-
Remembers the result of arbitrary code:
30+
Ensures that non-deterministic or side-effectful code (e.g., GUID generation, HTTP calls) produces the **same result** after a crash or restart.
31+
3032
```csharp
3133
var transactionId = await Capture("TransactionId", () => Guid.NewGuid());
34+
3235
//or simply
3336
var transactionId = await Capture(Guid.NewGuid);
37+
3438
//can also be used for external calls with automatic retry
3539
await Capture(() => httpClient.PostAsync("https://someurl.com", content), RetryPolicy.Default);
3640
```
3741
### Messages
38-
Wait for retrieval of external message - without taking up resources:
42+
Wait for retrieval of external message - without consuming resources:
3943
```csharp
4044
var fundsReserved = await Messages<FundsReserved>(timesOutIn: TimeSpan.FromMinutes(5));
4145
```
4246
### Suspension
43-
Suspends the current execution at-will, resuming after some duration:
47+
Suspends execution for a given duration — after which it will resume automatically from the same point.
4448
```csharp
4549
await Delay(TimeSpan.FromMinutes(5));
4650
```

0 commit comments

Comments
 (0)