StopReason Type
Why supervision ended.
Union cases
| Union case |
Description
|
Full Usage:
GaveUp
|
The `Supervisor.GiveUpWhen` classifier recognized a crash as *permanent* — the supervisor stopped instead of restarting it forever. Only reported for a crashed run that produced a `ProcessResult` (the classifier still receives that crash's `ProcessError` projection, via `ProcessResult.FailureError`); a permanent failure that never produced a result (a spawn/IO failure the classifier also recognizes) has no result to report and instead surfaces directly as `RunAsync`'s `Error`, same as an exhausted budget on that path. |
Full Usage:
PolicySatisfied
|
The `RestartPolicy` was satisfied — a clean exit under `OnCrash`, or the single `Never` run completing. |
Full Usage:
Predicate
|
The `Supervisor.StopWhen` predicate matched a run. |
Full Usage:
RestartsExhausted
|
The `Supervisor.MaxRestarts` budget ran out while the policy still wanted another restart. |
Full Usage:
Stopped
|
A `SupervisionSession.StopAsync` graceful stop ended supervision: the current incarnation was stopped through its own graceful path (`RunningProcess.StopAsync`) and the loop concluded cleanly. Not a crash and not a token cancellation — the reported `SupervisionOutcome.FinalResult` is the honest result of that last, deliberately-stopped incarnation. Only reported when some incarnation did produce a result: a stop landing before any of them did has none to report and, like an exhausted budget on that path, surfaces directly as `RunAsync`'s `Error` instead — the last failure that kept the child from starting, or `ProcessError.Cancelled` when no incarnation was ever started at all. |
Instance members
| Instance member |
Description
|
Full Usage:
this.IsGaveUp
Returns: bool
|
|
Full Usage:
this.IsPolicySatisfied
Returns: bool
|
|
Full Usage:
this.IsPredicate
Returns: bool
|
|
Full Usage:
this.IsRestartsExhausted
Returns: bool
|
|
Full Usage:
this.IsStopped
Returns: bool
|
|
ProcessKit API Reference