Header menu logo TDesu.FSharp

CircuitBreaker Module

Simple circuit breaker — prevents cascading failures by tracking consecutive errors.

Thread-safe on .NET (uses lock). On Fable, single-threaded by design. State transitions: Closed → Open → HalfOpen → Closed.

Types

Type Description

Config

Circuit breaker configuration.

State

Circuit breaker state.

Functions and values

Function or value Description

CircuitBreaker.create config

Full Usage: CircuitBreaker.create config

Parameters:
    config : Config - Circuit breaker configuration specifying threshold and cooldown.

Returns: (unit -> Task<'T>) -> Task<'T>

Creates a circuit breaker. Returns a function that wraps calls.

State transitions are atomic; the wrapped function f runs outside the lock. After Threshold consecutive failures, the circuit opens for Cooldown.

config : Config

Circuit breaker configuration specifying threshold and cooldown.

Returns: (unit -> Task<'T>) -> Task<'T>
InvalidOperationException Thrown when calling through an open circuit.

Type something to start searching.