Skip to content

Runner.ts

Cluster runner metadata for processes that can host entity shards.

A Runner combines the stable RunnerAddress used to contact a process, the shard groups that process participates in, and the relative weight used when the sharding service distributes shards across healthy runners.

Since v4.0.0



Constructs a Runner from its network address, shard groups, and relative shard-assignment weight.

When to use

Use to build runner metadata from an existing RunnerAddress, shard groups, and relative weight when registering or exchanging a cluster runner.

Details

The groups array lists the shard groups the runner can host. During shard assignment, the runner’s address is added to each group’s hash ring with weight as its relative weight.

Gotchas

This helper constructs the value without runtime schema validation, so only pass trusted RunnerAddress, groups, and weight values.

See

  • Runner for the value created by this helper
  • RunnerAddress for the network address accepted in props.address

Signature

declare const make: (props: {
readonly address: RunnerAddress
readonly groups: ReadonlyArray<string>
readonly weight: number
}) => Runner

Source

Since v4.0.0

Represents a cluster runner that can host entities.

Details

Each runner has a unique network address, the shard groups it participates in, and a relative weight used when assigning shards across runners.

Signature

declare class Runner

Source

Since v4.0.0

Formats this runner as a string.

Signature

declare const toString: () => string

Source

Since v4.0.0

Formats this runner for Node.js inspection.

Signature

declare const [NodeInspectSymbol]: () => string

Source

Since v4.0.0

Compares runners by address and shard-assignment weight.

Signature

declare const [Equal.symbol]: (that: Runner) => boolean

Source

Since v4.0.0

Computes a structural hash from the runner address and shard-assignment weight.

Signature

declare const [Hash.symbol]: () => number

Source

Since v4.0.0

Marks this value as a cluster runner for runtime guards.

Signature

readonly [TypeId]: "~effect/cluster/Runner"

Source

Since v4.0.0