redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
32 lines (31 loc) • 2.29 kB
TypeScript
import { TConsumerMessageHandler, TConsumerRedisKeys, TConsumerInfo, TQueueParams, IConfig, TConsumerHeartbeat } from '../../../types';
import { ConsumerHeartbeat } from './consumer-heartbeat';
import { Base } from '../base';
import { MessageHandlerRunner } from './consumer-message-handler/message-handler-runner';
import { RedisClient, WorkerRunner } from 'redis-smq-common';
import { ICallback, TUnaryFunction } from 'redis-smq-common/dist/types';
export declare class Consumer extends Base {
protected readonly redisKeys: TConsumerRedisKeys;
protected readonly messageHandlerRunner: MessageHandlerRunner;
protected heartbeat: ConsumerHeartbeat | null;
protected workerRunner: WorkerRunner | null;
constructor(config?: IConfig, useMultiplexing?: boolean);
protected setUpHeartbeat: (cb: ICallback<void>) => void;
protected tearDownHeartbeat: (cb: ICallback<void>) => void;
protected setUpConsumerWorkers: (cb: ICallback<void>) => void;
protected initConsumerEventListeners: (cb: ICallback<void>) => void;
protected tearDownConsumerWorkers: (cb: ICallback<void>) => void;
protected runMessageHandlers: (cb: ICallback<void>) => void;
protected shutdownMessageHandlers: (cb: ICallback<void>) => void;
protected goingUp(): TUnaryFunction<ICallback<void>>[];
protected goingDown(): TUnaryFunction<ICallback<void>>[];
consume(queue: string | TQueueParams, messageHandler: TConsumerMessageHandler, cb: ICallback<void>): void;
cancel(queue: string | TQueueParams, cb: ICallback<void>): void;
getQueues(): TQueueParams[];
getRedisKeys(): TConsumerRedisKeys;
static getConsumersHeartbeats(redisClient: RedisClient, consumersIds: string[], cb: ICallback<Record<string, TConsumerHeartbeat | false>>): void;
static getConsumerHeartbeat(redisClient: RedisClient, consumerId: string, cb: ICallback<TConsumerHeartbeat | false>): void;
static getQueueConsumers(redisClient: RedisClient, queue: TQueueParams, transform: boolean | undefined, cb: ICallback<Record<string, TConsumerInfo | string>>): void;
static getQueueConsumerIds(redisClient: RedisClient, queue: TQueueParams, cb: ICallback<string[]>): void;
static countQueueConsumers(redisClient: RedisClient, queue: TQueueParams, cb: ICallback<number>): void;
}