redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
26 lines • 1.47 kB
TypeScript
import { ICallback, ILogger, Runnable, TRedisClientEvent } from 'redis-smq-common';
import { IQueueParams, IQueueProperties } from '../queue-manager/index.js';
import { Producer } from './producer.js';
export declare class PubSubTargetResolver extends Runnable<Pick<TRedisClientEvent, 'error'>> {
protected internalEventBus: import("redis-smq-common").EventBusRedis<import("../index.js").TRedisSMQEvent>;
protected producerId: string;
protected logger: ILogger;
protected pubSubTargets: Record<string, string[]>;
constructor(producer: Producer, logger: ILogger);
private getQueueKey;
protected goingUp(): ((cb: ICallback<void>) => void)[];
protected goingDown(): ((cb: ICallback<void>) => void)[];
protected onConsumerGroupCreated: (queue: IQueueParams, groupId: string) => void;
protected onConsumerGroupDeleted: (queue: IQueueParams, groupId: string) => void;
protected onQueueCreated: (queue: IQueueParams, properties: IQueueProperties) => void;
protected onQueueDeleted: (queue: IQueueParams) => void;
protected subscribeToEvents: (cb: ICallback<void>) => void;
protected unsubscribeFromEvents: (cb: ICallback) => void;
protected loadAndCacheInitialTargets: (cb: ICallback<void>) => void;
protected clearCache: (cb: ICallback<void>) => void;
resolveTargets(queue: IQueueParams): {
isPubSub: boolean;
targets: string[];
};
}
//# sourceMappingURL=pub-sub-target-resolver.d.ts.map