Skip to content

CircuitBreaker

Defined in: src/pattern/CircuitBreaker.ts:40

Three-state circuit breaker. Wraps calls that might fail — when enough fail in a row the breaker “opens” and refuses further calls for a timeout window. The first call after the timeout probes the upstream (“half-open”); if it succeeds, the breaker closes and normal operation resumes.

Not tied to actors — works with any () => Promise<T> factory. For actor-based usage, wrap ask(target, msg, timeout) in the factory.

new CircuitBreaker(settings): CircuitBreaker

Defined in: src/pattern/CircuitBreaker.ts:46

CircuitBreakerSettings

CircuitBreaker

readonly settings: CircuitBreakerSettings

Defined in: src/pattern/CircuitBreaker.ts:46

get state(): CircuitState

Defined in: src/pattern/CircuitBreaker.ts:55

CircuitState

call<T>(factory): Promise<T>

Defined in: src/pattern/CircuitBreaker.ts:58

Call factory under breaker supervision. Throws CircuitBreakerOpenError when open.

T

() => Promise<T>

Promise<T>


onStateChange(listener): () => void

Defined in: src/pattern/CircuitBreaker.ts:79

Observe state transitions — useful for logging/metrics.

StateListener

() => void


setState(next): void

Defined in: src/pattern/CircuitBreaker.ts:85

Force the breaker into a specific state (mostly for tests / admin).

CircuitState

void