redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
37 lines • 2.16 kB
TypeScript
import { ICallback, ILogger, IRedisClient, PanicError, Runnable, Timer, WorkerCluster } from 'redis-smq-common';
import { TConsumerMessageHandlerEvent, TRedisSMQEvent } from '../../event-bus/index.js';
import { IRedisSMQParsedConfig } from '../../config-manager/index.js';
import { IQueueParsedParams } from '../../queue-manager/index.js';
import { ConsumeMessage } from './consume-message/consume-message.js';
import { DequeueMessage } from './dequeue-message/dequeue-message.js';
import { IConsumerMessageHandlerParams } from './types/index.js';
import { IConsumerContext } from '../types/consumer-context.js';
export declare class MessageHandler extends Runnable<TConsumerMessageHandlerEvent> {
protected readonly consumerContext: IConsumerContext;
protected readonly config: IRedisSMQParsedConfig;
protected logger: ILogger;
protected queue: IQueueParsedParams;
protected dequeueMessage: DequeueMessage | null;
protected consumeMessage: ConsumeMessage | null;
protected messageHandler: import("./types/message-handler.js").TConsumerMessageHandler;
protected autoDequeue: boolean;
protected queueWorkerCluster: WorkerCluster | null;
protected redisClient: IRedisClient | null;
protected timer: Timer;
protected ephemeralConsumerGroupId: string | null;
constructor(consumerContext: IConsumerContext, handlerParams: IConsumerMessageHandlerParams, autoDequeue?: boolean);
protected getRedisClient(): IRedisClient | PanicError;
protected onMessageReceived: TRedisSMQEvent['consumer.dequeueMessage.messageReceived'];
protected onMessageNext: TRedisSMQEvent['consumer.dequeueMessage.nextMessage'];
protected handleError(err: Error): void;
protected runWorkerCluster: (cb: ICallback) => void;
protected shutdownWorkerCluster: (cb: ICallback) => void;
protected createDequeueMessageInstance(): DequeueMessage;
protected goingUp(): ((cb: ICallback) => void)[];
protected goingDown(): ((cb: ICallback) => void)[];
processMessage(messageId: string): void;
next(): void;
dequeue(): void;
getQueue(): IQueueParsedParams;
}
//# sourceMappingURL=message-handler.d.ts.map