inceptum
Version:
hipages take on the foundational library for enterprise-grade apps written in NodeJS
34 lines (33 loc) • 1.54 kB
TypeScript
import { Counter, Histogram } from 'prom-client';
import { RabbitmqClient } from './RabbitmqClient';
import { RabbitmqConsumerConfig, RabbitmqClientConfig } from './RabbitmqConfig';
import { RepliesConsume } from './RabbitmqClient';
import { RabbitmqConsumerHandler, Message } from './RabbitmqConsumerHandler';
export declare class RabbitmqConsumer extends RabbitmqClient {
consumeFailuresDelayed: Counter.Internal;
consumeFailuresDLQ: Counter.Internal;
consumeFailures: Counter.Internal;
consumeDurationHistogram: Histogram.Internal;
protected consumerConfig: RabbitmqConsumerConfig;
protected messageHandler: RabbitmqConsumerHandler;
protected consumerTag: string;
constructor(clientConfig: RabbitmqClientConfig, name: string, consumerConfig: RabbitmqConsumerConfig, handler: RabbitmqConsumerHandler);
init(addHandler?: boolean): Promise<void>;
/**
* Subscribe to a queue
*/
subscribe(queueName: string, consumerConfig: RabbitmqConsumerConfig): Promise<RepliesConsume>;
handleMessage(message: Message): Promise<void>;
sendMessageToDlq(message: Message): void;
sendMessageToDelayedQueue(message: Message, retriesCount: number, e: Error): void;
stringyifyMessageContent(message: Message): string;
/**
*
* @param retriesCount number
* @reutrn number in milliseconds
*/
getTtl(retriesCount?: number): number;
allowRetry(retriesCount: number): boolean;
close(): Promise<void>;
protected cancelConsumerAndResubscribe(): Promise<void>;
}