EventAction<'T> Type
Defines the possible actions an aggregate or saga actor can take after processing a command or event.
Union cases
| Union case | Description |
Full Usage:
DeferEvent 'T
Parameters:
'T
|
|
Full Usage:
IgnoreEvent
|
|
Full Usage:
PersistAllEvents 'T list
Parameters:
'T list
|
Persist several events from one command as a single journal AtomicWrite: all land or none do (one DB transaction in the SQL plugins), and no state update, publish or saga wake-up happens until the whole batch is durable. Versions are allocated sequentially. Atomic for THIS aggregate instance only — atomicity across aggregates is saga territory. Note the read side still projects the batch event-by-event (durability is atomic, read-model visibility is not).
|
Full Usage:
PersistAndSnapshot 'T
Parameters:
'T
|
|
Full Usage:
PersistEvent 'T
Parameters:
'T
|
|
|
|
Full Usage:
RunAsync obj
Parameters:
obj
|
Dispatch an async side effect (e.g. an AI/oracle read) as a "mini saga" without the saga's persistence ceremony. The payload is an INSPECTABLE DATA description of the effect (boxed) — NOT a closure — so `decide` stays a pure `(command, state) -> effect` function you can unit-test by asserting `decide cmd state = RunAsync (box (ClusterThemes texts))` without any runtime. The oracle lives in the runner registered at `Fcqrs.aggregateWithEffects`, which maps the description to a command; that command is sent back to THIS aggregate (reusing the originating CID) and re-enters `decide`, re-validated against current state. EPHEMERAL: the in-flight work is process state, NOT journaled. A crash, restart, or shard rebalance while it runs loses it SILENTLY — nothing re-issues it. Use this only when that loss is tolerable; when the result MUST survive a crash, use a saga (which persists its intent). TOTAL: the registered runner must map every outcome (oracle error, timeout) to a command (e.g. `ClusteringFailed`), never let an exception escape — `Fcqrs.total` helps. An escaping exception fail-fasts the process, like a throwing fold.
|
|
|
Full Usage:
StateChangedEvent 'T
Parameters:
'T
|
|
Full Usage:
UnhandledEvent
|
|
|
|
|
|
Instance members
| Instance member | Description |
Full Usage:
this.IsDeferEvent
Returns: bool
|
|
Full Usage:
this.IsIgnoreEvent
Returns: bool
|
|
Full Usage:
this.IsPersistAllEvents
Returns: bool
|
|
Full Usage:
this.IsPersistAndSnapshot
Returns: bool
|
|
Full Usage:
this.IsPersistEvent
Returns: bool
|
|
Full Usage:
this.IsPublishEvent
Returns: bool
|
|
Full Usage:
this.IsRunAsync
Returns: bool
|
|
Full Usage:
this.IsStash
Returns: bool
|
|
Full Usage:
this.IsStateChangedEvent
Returns: bool
|
|
Full Usage:
this.IsUnhandledEvent
Returns: bool
|
|
Full Usage:
this.IsUnstash
Returns: bool
|
|
Full Usage:
this.IsUnstashAll
Returns: bool
|
|
FCQRS