Skip to main content

createCircuitBreaker

@abimongo/logger


Function: createCircuitBreaker()

createCircuitBreaker<T>(fn, failureThreshold, cooldownPeriod): (...args) => Promise<ReturnType<T>>

Defined in: utils/circuitBreaker/circuitBreaker.ts:8

Creates a circuit breaker for a given asynchronous function.

Type Parameters

T

T extends (...args) => Promise<any>

Parameters

fn

T

The asynchronous function to wrap with a circuit breaker.

failureThreshold

number = 3

The number of consecutive failures before opening the circuit.

cooldownPeriod

number = 10_000

The time in milliseconds to wait before closing the circuit again.

Returns

A wrapped function with circuit breaker functionality.

(...args): Promise<ReturnType<T>>

Parameters

args

...Parameters<T>

Returns

Promise<ReturnType<T>>