redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
24 lines • 1.92 kB
TypeScript
import { ICallback, IRedisClient } from 'redis-smq-common';
import { RedisClient } from '../../../common/redis-client/redis-client.js';
import { redisKeys } from '../../../common/redis-keys/redis-keys.js';
import { IMessageTransferable, Message } from '../../message/index.js';
import { IQueueParsedParams, TQueueExtendedParams } from '../../queue/index.js';
import { QueueMessagesStorage } from '../queue-messages-storage/queue-messages-storage.js';
import { IQueueMessageManager, IQueueMessagesPage, IQueueMessagesPageParams } from '../types/index.js';
export declare abstract class QueueMessagesManagerAbstract implements IQueueMessageManager {
protected readonly redisClient: RedisClient;
protected readonly message: Message;
protected requireGroupId: boolean;
protected readonly redisKey: keyof ReturnType<typeof redisKeys.getQueueKeys>;
protected readonly messageStorage: QueueMessagesStorage;
protected constructor(redisClient: RedisClient, messagesStorage: QueueMessagesStorage, message: Message, redisKey: keyof ReturnType<typeof redisKeys.getQueueKeys>);
protected getTotalPages(pageSize: number, totalItems: number): number;
protected getPaginationParams(cursor: number, totalItems: number, pageSize: number): IQueueMessagesPageParams;
protected getMessagesIds(queue: IQueueParsedParams, page: number, pageSize: number, cb: ICallback<IQueueMessagesPage<string>>): void;
purge(queue: TQueueExtendedParams, cb: ICallback<void>): void;
protected _purgeMessages(client: IRedisClient, parsedParams: IQueueParsedParams, cb: ICallback<void>): void;
getMessages(queue: TQueueExtendedParams, page: number, pageSize: number, cb: ICallback<IQueueMessagesPage<IMessageTransferable>>): void;
countMessages(queue: TQueueExtendedParams, cb: ICallback<number>): void;
shutdown(cb: ICallback<void>): void;
}
//# sourceMappingURL=queue-messages-manager-abstract.d.ts.map