Type Alias CircuitBreakerProviderSettingsBase

CircuitBreakerProviderSettingsBase: ErrorPolicySettings & {
    enableAsyncTracking?: boolean;
    eventBus?: IEventBus;
    namespace?: Namespace;
    serde?: OneOrMore<ISerderRegister>;
    serdeTransformerName?: string;
    slowCallTime?: ITimeSpan;
    trigger?: CircuitBreakerTrigger;
}

IMPORT_PATH: "@daiso-tech/core/circuit-breaker"

Type declaration

  • OptionalenableAsyncTracking?: boolean

    If true, metric tracking will run asynchronously in the background and won't block the function utilizing the circuit breaker logic.

    true
    
  • OptionaleventBus?: IEventBus
    import { EventBus } from "@daiso-tech/core/event-bus";
    import { NoOpEventBusAdapter } from "@daiso-tech/core/event-bus/no-op-event-bus-adapter";

    new EventBus({
    adapter: new NoOpEventBusAdapter()
    })
  • Optionalnamespace?: Namespace
    import { Namespace } from "@daiso-tech/core/namespace";

    new Namespace("@circuit-breaker")
  • Optionalserde?: OneOrMore<ISerderRegister>
  • OptionalserdeTransformerName?: string
    ""
    
  • OptionalslowCallTime?: ITimeSpan
    import { TimeSpan } from "@daiso-tech/core/time-span";

    TimeSpan.fromSeconds(10);
  • Optionaltrigger?: CircuitBreakerTrigger

    You can decide to track only errors, only slow calls or both as failures.

    import { CIRCUIT_BREAKER_TRIGGER} from "@daiso-tech/core/circuit-breaker/contracts";

    CIRCUIT_BREAKER_TRIGGER.BOTH