UNPKG

redis-smq-common

Version:

Provides essential components and utilities shared across RedisSMQ packages.

36 lines 1.48 kB
import { ICallback } from '../async/index.js'; import { EventEmitter, TEventEmitterEvent } from '../event/index.js'; import { PowerSwitch } from '../power-switch/index.js'; import { ILogger } from '../logger/index.js'; export declare abstract class Runnable<Event extends TEventEmitterEvent = TEventEmitterEvent> extends EventEmitter<Event> { protected readonly id: string; protected readonly powerSwitch: PowerSwitch; protected readonly forceShutdownOnError: boolean; protected abstract readonly logger: ILogger; private waitingForUpCallbacks; private waitingForDownCallbacks; protected constructor(forceShutdownOnError?: boolean); protected goingUp(): Array<(cb: ICallback<void>) => void>; protected goingDown(): Array<(cb: ICallback<void>) => void>; protected finalizeUp(): void; protected finalizeDown(): void; protected handleError(err: unknown): void; private flushWaitingForUp; private flushWaitingForDown; protected executeGoingUpTasks(): void; protected executeGoingDownTasks(): void; isOperational(): boolean; isRunning(): boolean; isGoingUp(): boolean; isGoingDown(): boolean; isUp(): boolean; isDown(): boolean; run(): Promise<void>; run(cb: ICallback): void; shutdown(): Promise<void>; shutdown(cb: ICallback): void; ensureIsOperational(): Promise<void>; ensureIsOperational(cb: ICallback): void; getId(): string; } //# sourceMappingURL=runnable.d.ts.map