redis-smq-common
Version:
RedisSMQ Common Library provides many components that are mainly used by RedisSMQ and RedisSMQ Monitor.
26 lines • 1.08 kB
TypeScript
import { ICallback } from '../async/index.js';
import { EventEmitter, TEventEmitterEvent } from '../event/index.js';
import { ILogger } from '../logger/index.js';
import { PowerSwitch } from '../power-switch/index.js';
export declare abstract class Runnable<Event extends TEventEmitterEvent> extends EventEmitter<Event> {
protected id: string;
protected powerSwitch: PowerSwitch;
protected forceShutdownOnError: boolean;
protected cleanUpBeforeShutdown: boolean;
protected constructor();
protected goingUp(): ((cb: ICallback<void>) => void)[];
protected goingDown(): ((cb: ICallback<void>) => void)[];
protected up(cb: ICallback<boolean>): void;
protected down(cb: ICallback<boolean>): void;
protected handleError(err: Error): void;
protected abstract getLogger(): ILogger;
isRunning(): boolean;
isGoingUp(): boolean;
isGoingDown(): boolean;
isUp(): boolean;
isDown(): boolean;
run(cb: ICallback<boolean>): void;
shutdown(cb: ICallback<void>): void;
getId(): string;
}
//# sourceMappingURL=runnable.d.ts.map