function ResiliencePlugin
Since 0.1.0
ResiliencePlugin(options?: ResiliencePluginOptions): IPlugin

Creates a resilience plugin.

The plugin is pure and stateless at the plugin level: it holds no timers, connections, or global state, so it registers no health indicator and no onClose hook. Per-wrap breaker/bulkhead state lives in the returned closures and is garbage-collected with them.

Examples

Example 1

app.register(ResiliencePlugin({
  defaultCircuitBreaker: { threshold: 5, timeout: 10_000, resetTimeout: 30_000 },
  defaultRetry: { limit: 3, delay: 100, backoff: 'exponential' },
  defaultBulkhead: { maxConcurrent: 10, maxQueue: 20 },
}));

Parameters

optional
options: ResiliencePluginOptions

Default policies for true-valued wrap fields

Return Type

IPlugin

A plugin registering an IResilienceService under 'resilience'

Usage

import { ResiliencePlugin } from "resilience-plugin/src/index.ts";