Skip to main content

circuitBreaker

Workspace API


Workspace API / services/circuitBreaker

services/circuitBreaker

Enumerations

CircuitState

Defined in: services/circuitBreaker.ts:19

Enumeration Members

CLOSED

CLOSED: "CLOSED"

Defined in: services/circuitBreaker.ts:20

OPEN

OPEN: "OPEN"

Defined in: services/circuitBreaker.ts:21

HALF_OPEN

HALF_OPEN: "HALF_OPEN"

Defined in: services/circuitBreaker.ts:22

Classes

CircuitBreakerError

Defined in: services/circuitBreaker.ts:32

Extends

  • Error

Constructors

Constructor

new CircuitBreakerError(message): CircuitBreakerError

Defined in: services/circuitBreaker.ts:33

Parameters
message

string

Returns

CircuitBreakerError

Overrides

Error.constructor


CircuitBreaker

Defined in: services/circuitBreaker.ts:39

Constructors

Constructor

new CircuitBreaker(config): CircuitBreaker

Defined in: services/circuitBreaker.ts:46

Parameters
config

Partial<CircuitBreakerConfig> = {}

Returns

CircuitBreaker

Methods

execute()

execute<T>(fn): Promise<T>

Defined in: services/circuitBreaker.ts:68

Execute a function with circuit breaker protection

Type Parameters
T

T

Parameters
fn

() => Promise<T>

Returns

Promise<T>

getState()

getState(): CircuitState

Defined in: services/circuitBreaker.ts:188

Get current circuit breaker state

Returns

CircuitState

getStats()

getStats(): object

Defined in: services/circuitBreaker.ts:195

Get circuit breaker statistics

Returns

object

state

state: CircuitState

failureCount

failureCount: number

successCount

successCount: number

nextAttempt

nextAttempt: string | null

config

config: CircuitBreakerConfig

reset()

reset(): void

Defined in: services/circuitBreaker.ts:214

Manually reset the circuit breaker (useful for testing/admin)

Returns

void

Interfaces

CircuitBreakerConfig

Defined in: services/circuitBreaker.ts:25

Properties

failureThreshold

failureThreshold: number

Defined in: services/circuitBreaker.ts:26

successThreshold

successThreshold: number

Defined in: services/circuitBreaker.ts:27

timeout

timeout: number

Defined in: services/circuitBreaker.ts:28

name

name: string

Defined in: services/circuitBreaker.ts:29

Functions

getCircuitBreaker()

getCircuitBreaker(name, config?): CircuitBreaker

Defined in: services/circuitBreaker.ts:226

Get or create a circuit breaker instance

Parameters

name

string

config?

Partial<CircuitBreakerConfig>

Returns

CircuitBreaker


getAllCircuitBreakerStats()

getAllCircuitBreakerStats(): Record<string, ReturnType<CircuitBreaker["getStats"]>>

Defined in: services/circuitBreaker.ts:242

Get all circuit breaker stats (for health monitoring)

Returns

Record<string, ReturnType<CircuitBreaker["getStats"]>>