UNPKG

redis-smq-common

Version:

Provides essential components and utilities shared across RedisSMQ packages.

22 lines 1.17 kB
import { ICallback } from '../async/index.js'; import { Runnable } from '../runnable/index.js'; import { ILogger } from '../logger/index.js'; import { IBackoffConfig, IBackoffParsedConfig } from './types/index.js'; export declare abstract class Backoff extends Runnable { private timer; protected readonly config: IBackoffParsedConfig; protected readonly logger: ILogger; protected attempts: number; constructor(logger: ILogger, config?: IBackoffConfig); protected runTask<TResult>(task: (cb: ICallback<TResult>) => void, callback: ICallback<TResult>): void; protected scheduleRetry<TResult>(task: (cb: ICallback<TResult>) => void, callback: ICallback<TResult>): void; protected calculateNextDelay(): number; protected abstract getNextDelay(baseDelay: number, attempts: number): number; protected goingUp(): Array<(cb: ICallback<void>) => void>; protected goingDown(): Array<(cb: ICallback<void>) => void>; getConfig(): IBackoffParsedConfig; execute<TResult>(task: (cb: ICallback<TResult>) => void, callback: ICallback<TResult>): void; getAttempts(): number; reset(): void; } //# sourceMappingURL=backoff.d.ts.map