Skip to content
Buy me a coffee

ResiliencePipelineRegistry

Defined in: src/registry.ts:46

Builds each keyed pipeline once and caches it, so stateful strategies (circuit breakers, limiters) are shared.

K = string

new ResiliencePipelineRegistry<K>(options?): ResiliencePipelineRegistry<K>

Defined in: src/registry.ts:54

(key) => string

TimeProvider

ResiliencePipelineRegistry<K>

circuitBreakers(): RegisteredStrategy<K>[]

Defined in: src/registry.ts:103

Every circuit breaker in the registry’s pipelines, e.g. for a health endpoint: strategy.state, strategy.metrics.

RegisteredStrategy<K>[]


dispose(): void

Defined in: src/registry.ts:113

Dispose every pipeline (background timers, store sync). The registry can’t be used afterwards.

void


getOrAddPipeline<T>(key, configure): ResiliencePipeline<T>

Defined in: src/registry.ts:79

T = any

K

ConfigurePipeline<K>

ResiliencePipeline<T>


getPipeline<T>(key): ResiliencePipeline<T>

Defined in: src/registry.ts:73

T = any

K

ResiliencePipeline<T>


keys(): K[]

Defined in: src/registry.ts:98

Keys of the pipelines built so far.

K[]


limiters(): RegisteredStrategy<K>[]

Defined in: src/registry.ts:108

Every concurrency / rate limiter, e.g. to report active / queued / limit.

RegisteredStrategy<K>[]


reload(key, configure?): void

Defined in: src/registry.ts:87

Rebuild key’s pipeline, optionally with a new configuration (e.g. limits from a feature flag). Existing references keep working and pick up the new pipeline; the old one is disposed and its state dropped.

K

ConfigurePipeline<K>

void


tryAddBuilder(key, configure): boolean

Defined in: src/registry.ts:60

Registers how to build key; returns false if a builder is already registered.

K

ConfigurePipeline<K>

boolean


tryGetPipeline<T>(key): ResiliencePipeline<T, any> | undefined

Defined in: src/registry.ts:66

T = any

K

ResiliencePipeline<T, any> | undefined