RunnerServer
Provides server-side layers for the cluster runner protocol.
Runner protocol handlers receive ping, notification, request, stream, and envelope messages from other runners. They forward those messages into Sharding and coordinate persisted replies through MessageStorage. This module includes the handler layer, a transport-independent RPC server layer, a full server layer that also provides runner clients, and a client-only layer for applications that do not serve runner RPCs.
Layers
Signature
declare const layer: Layer.Layer<
never,
never,
RpcServer.Protocol | Sharding.Sharding | MessageStorage.MessageStorage
>;layerClientOnly
Creates a client-only Runners layer.
When to use
Use to embed a cluster client inside another Effect application without registering with the ShardManager or receiving shard assignments.
Signature
declare const layerClientOnly: Layer.Layer<
Sharding.Sharding | Runners.Runners,
never,
| ShardingConfig
| Runners.RpcClientProtocol
| MessageStorage.MessageStorage
| RunnerStorage.RunnerStorage
>;layerHandlers
Layer that handles runner protocol RPCs by forwarding requests to Sharding and MessageStorage.
Signature
declare const layerHandlers: Layer<
Handler<"Ping"> | Handler<"Notify"> | Handler<"Effect"> | Handler<"Stream"> | Handler<"Envelope">,
never,
Sharding | MessageStorage
>;layerWithClients
Layer that provides RunnerServer together with Runners and Sharding clients.
Signature
declare const layerWithClients: Layer.Layer<
Sharding.Sharding | Runners.Runners,
never,
| RpcServer.Protocol
| ShardingConfig
| Runners.RpcClientProtocol
| MessageStorage.MessageStorage
| RunnerStorage.RunnerStorage
| RunnerHealth.RunnerHealth
>;
Creates the runner RPC server layer, which receives messages from other runners, forwards them to the
Shardinglayer, and responds toPingrequests.When to use
Use when a runner process should accept runner-to-runner protocol messages over a provided server
RpcServer.Protocol.Gotchas
This layer does not choose or provide the wire transport; provide a transport-specific
RpcServer.Protocolseparately.See
layerHandlersfor the lower-level handler layer used when the RPC server is supplied elsewherelayerWithClientsfor a runner server layer that also provides theShardingandRunnersclientslayerClientOnlyfor embedding a cluster client without serving runner RPCs