Logo FsShelter

Supervisor Module

Functions and values

Function or value Description

Supervisor.defaultDeps

Full Usage: Supervisor.defaultDeps

Returns: ClusterDeps<'t>
Type parameters: 't

Production defaults for `ClusterDeps`: system clock, on-disk peer-id store, on-disk peers cache, real TCP transport, real topology host.

Returns: ClusterDeps<'t>

Supervisor.runCluster startLog topology

Full Usage: Supervisor.runCluster startLog topology

Parameters:
Returns: Result<(unit -> unit), string>
Type parameters: 't

Run a topology under cluster supervision with production defaults. Equivalent to `runClusterWith defaultDeps`.

startLog : int -> Log
topology : Topology<'t>
Returns: Result<(unit -> unit), string>

Supervisor.runClusterWith deps startLog topology

Full Usage: Supervisor.runClusterWith deps startLog topology

Parameters:
Returns: Result<(unit -> unit), string>
Type parameters: 't

Run a topology under cluster supervision using the provided external capabilities. If `CLUSTER_SEEDS` is empty (and `CLUSTER_LISTEN` likewise), this falls through to `deps.RunTopology` for single-process parity. Startup failures (bad cluster config, peer-id store I/O, transport bind) are returned as `Error`.

deps : ClusterDeps<'t>
startLog : int -> Log
topology : Topology<'t>
Returns: Result<(unit -> unit), string>

Supervisor.step stabilizeMs state input

Full Usage: Supervisor.step stabilizeMs state input

Parameters:
Returns: SupervisorState * SupervisorEffect list

Pure transition: `(stabilizeMs, state) -> input -> (state, effects)`. All time arithmetic uses `nowMs` from the input; the function does not read any clock itself.

stabilizeMs : int
state : SupervisorState
input : SupervisorInput
Returns: SupervisorState * SupervisorEffect list

Type something to start searching.