@takentrade/takentrade-libs
Version:
TakeNTrade shared libraries
14 lines (13 loc) • 535 B
TypeScript
import { CircuitBreaker, CircuitBreakerOptions, CircuitState } from './circuit-breaker.types';
export declare class CircuitBreakerService {
private readonly logger;
private readonly breakers;
createBreaker(name: string, options?: Partial<CircuitBreakerOptions>): CircuitBreaker;
private startHealthCheck;
execute<T>(name: string, operation: () => Promise<T>): Promise<T>;
private onSuccess;
private onFailure;
private setState;
getState(name: string): CircuitState;
reset(name: string): void;
}