redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
56 lines • 3.38 kB
TypeScript
import { ICallback, ILogger, Runnable, Timer } from 'redis-smq-common';
import { TConsumerMessageHandlerRunnerEvent } from '../../event-bus/index.js';
import { IQueueParsedParams } from '../../queue-manager/index.js';
import { MessageHandler } from '../message-handler/message-handler.js';
import { IConsumerMessageHandlerParams, TConsumerMessageHandler } from '../message-handler/types/index.js';
import { IConsumerContext } from '../types/consumer-context.js';
import { QueueStateChangeHandler } from './queue-state-change-handler.js';
import { IConsumerQueuesWithStatus } from '../types/index.js';
export declare class MessageHandlerRunner extends Runnable<TConsumerMessageHandlerRunnerEvent> {
protected readonly handlerReconciliationInterval = 5000;
protected readonly consumerContext: IConsumerContext;
protected readonly supervisorTimer: Timer;
protected readonly queueStateChangeHandler: QueueStateChangeHandler;
protected logger: ILogger;
protected messageHandlerInstances: MessageHandler[];
protected messageHandlers: IConsumerMessageHandlerParams[];
constructor(consumerContext: IConsumerContext);
protected getQueueIdentifier(queue: IQueueParsedParams): string;
protected isSameQueue(q1: IQueueParsedParams, q2: IQueueParsedParams): boolean;
protected isQueueActive(queue: IQueueParsedParams): boolean;
protected isQueueStopped(queue: IQueueParsedParams): boolean;
protected isQueuePaused(queue: IQueueParsedParams): boolean;
protected isQueueLocked(queue: IQueueParsedParams): boolean;
protected scheduleReconciliation: () => void;
protected reconcileHandlers: () => void;
protected getMessageHandlerInstance(queue: IQueueParsedParams): MessageHandler | undefined;
getMessageHandler(queue: IQueueParsedParams): IConsumerMessageHandlerParams | undefined;
protected createMessageHandlerInstance(handlerParams: IConsumerMessageHandlerParams): MessageHandler;
protected runMessageHandler(handlerParams: IConsumerMessageHandlerParams, cb: ICallback): void;
protected shutdownMessageHandler(messageHandler: MessageHandler, cb: ICallback): void;
protected runMessageHandlers: (cb: ICallback) => void;
protected shutDownMessageHandlers: (cb: ICallback) => void;
protected goingUp(): ((cb: ICallback) => void)[];
protected goingDown(): ((cb: ICallback) => void)[];
protected handleError(err: Error): void;
stopMessageHandler(queue: IQueueParsedParams, cb: ICallback<boolean>): void;
startMessageHandler(queue: IQueueParsedParams, cb: ICallback<boolean>): void;
removeMessageHandler(queue: IQueueParsedParams, cb: ICallback): void;
addMessageHandler(queue: IQueueParsedParams, messageHandler: TConsumerMessageHandler, cb: ICallback<void>): void;
getQueueWithStatus(): IConsumerQueuesWithStatus[];
getQueues(): IQueueParsedParams[];
getActiveQueues(): IQueueParsedParams[];
getStoppedQueues(): IQueueParsedParams[];
getPausedQueues(): IQueueParsedParams[];
getLockedQueues(): IQueueParsedParams[];
isMessageHandlerStopped(queue: IQueueParsedParams): boolean;
isMessageHandlerRunning(queue: IQueueParsedParams): boolean;
getHandlerCount(): {
total: number;
active: number;
stopped: number;
paused: number;
locked: number;
};
}
//# sourceMappingURL=message-handler-runner.d.ts.map