redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
27 lines (26 loc) • 1.72 kB
TypeScript
import { Consumer } from '../consumer';
import { MessageHandler } from './message-handler';
import { IRequiredConfig, TConsumerMessageHandler, TConsumerMessageHandlerParams, TQueueParams } from '../../../../types';
import { RedisClient } from 'redis-smq-common';
import { ICallback, ICompatibleLogger } from 'redis-smq-common/dist/types';
export declare class MessageHandlerRunner {
protected consumer: Consumer;
protected sharedRedisClient: RedisClient | null;
protected messageHandlerInstances: MessageHandler[];
protected messageHandlers: TConsumerMessageHandlerParams[];
protected config: IRequiredConfig;
protected logger: ICompatibleLogger;
constructor(consumer: Consumer, logger: ICompatibleLogger);
protected registerMessageHandlerEvents(messageHandler: MessageHandler): void;
protected getMessageHandlerInstance(queue: TQueueParams): MessageHandler | undefined;
protected getMessageHandler(queue: TQueueParams): TConsumerMessageHandlerParams | undefined;
protected createMessageHandlerInstance(dequeueRedisClient: RedisClient, handlerParams: TConsumerMessageHandlerParams): MessageHandler;
protected runMessageHandler(handlerParams: TConsumerMessageHandlerParams, cb: ICallback<void>): void;
protected shutdownMessageHandler(messageHandler: MessageHandler, cb: ICallback<void>): void;
protected getSharedRedisClient(): RedisClient;
run(redisClient: RedisClient, cb: ICallback<void>): void;
shutdown(cb: ICallback<void>): void;
removeMessageHandler(queue: TQueueParams, cb: ICallback<void>): void;
addMessageHandler(queue: TQueueParams, messageHandler: TConsumerMessageHandler, cb: ICallback<void>): void;
getQueues(): TQueueParams[];
}