redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
31 lines • 1.74 kB
TypeScript
import { ICallback, ILogger, Runnable } from 'redis-smq-common';
import { MessageEnvelope } from '../../../message/message-envelope.js';
import { IQueueParsedParams } from '../../../queue-manager/index.js';
import { EMessageUnacknowledgementCause, TUnacknowledgementResult } from './types/index.js';
import { IConsumerParsedOptions } from '../../types/index.js';
export type TMessageUnacknowledgerEvent = {
'messageUnacknowledger.error': (error: unknown) => void;
'messageUnacknowledger.messagesUnacknowledged': (recoveryStatus: TUnacknowledgementResult) => void;
};
export declare class MessageUnacknowledger extends Runnable<TMessageUnacknowledgerEvent> {
private readonly consumerId;
private readonly queue;
private readonly queueRef;
private readonly useBatchUnacks;
private readonly batchSize;
private readonly batchTimeoutMs;
private readonly batch;
protected readonly logger: ILogger;
constructor(consumerId: string, queue: IQueueParsedParams, logger: ILogger, consumerOptions: IConsumerParsedOptions);
private getResolution;
private buildPendingMessages;
private processBatch;
private getMessagesFromQueue;
protected goingDown(): Array<(cb: ICallback<void>) => void>;
protected handleError(err: unknown): void;
add(message: MessageEnvelope, cause: EMessageUnacknowledgementCause): void;
unacknowledgeMessage(message: MessageEnvelope, cause: EMessageUnacknowledgementCause, cb: ICallback<TUnacknowledgementResult>): void;
unacknowledgeProcessingQueue(cause: EMessageUnacknowledgementCause, cb: ICallback<TUnacknowledgementResult>): void;
flush(cb?: ICallback<TUnacknowledgementResult>): void;
}
//# sourceMappingURL=message-unacknowledger.d.ts.map