redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
33 lines • 2.55 kB
TypeScript
import { ICallback, ILogger } from 'redis-smq-common';
import { redisKeys } from '../../common/redis/redis-keys/redis-keys.js';
import { IMessageTransferable } from '../../message/index.js';
import { IQueueParsedParams, TQueueExtendedParams } from '../../queue-manager/index.js';
import { IBrowserPage, IMessageBrowser } from './types/index.js';
import { MessageManager } from '../../message-manager/index.js';
import { IBrowserStorage } from './browser-storage/browser-storage-abstract.js';
import { EBackgroundJobStatus } from '../../common/index.js';
import { PurgeQueueJobManager } from '../../common/background-jobs/jobs/purge-queue/purge-queue-job-manager.js';
import { EQueueMessageType } from '../types/index.js';
import { TPurgeQueueJob } from '../../common/background-jobs/jobs/purge-queue/types/index.js';
export declare class MessageBrowser implements IMessageBrowser {
protected readonly redisKey: keyof ReturnType<typeof redisKeys.getQueueKeys>;
protected readonly logger: ILogger;
protected requireGroupId: boolean;
protected readonly messageManager: MessageManager;
protected readonly messageStorage: IBrowserStorage;
readonly messageType: EQueueMessageType;
constructor(messageManager: MessageManager, messageStorage: IBrowserStorage, messageType: EQueueMessageType, redisKey: keyof ReturnType<typeof redisKeys.getQueueKeys>, requireGroupId: boolean, logger: ILogger);
private validatePurgeOperation;
private createPurgeJob;
private isJobForQueue;
protected withValidatedQueue<T>(queue: TQueueExtendedParams, operation: (params: IQueueParsedParams, cb: ICallback<T>) => void, cb: ICallback<T>): void;
protected withPurgeQueueJobManager<T>(operation: (purgeQueueJobManager: PurgeQueueJobManager, cb: ICallback<T>) => void, cb: ICallback<T>): void;
purge(queue: TQueueExtendedParams, cb: ICallback<string>): void;
getPurgeJob(queue: TQueueExtendedParams, jobId: string, cb: ICallback<TPurgeQueueJob>): void;
getPurgeJobStatus(queue: TQueueExtendedParams, jobId: string, cb: ICallback<EBackgroundJobStatus>): void;
cancelPurge(queue: TQueueExtendedParams, jobId: string, cb: ICallback): void;
getMessages(queue: TQueueExtendedParams, page: number, pageSize: number, cb: ICallback<IBrowserPage<IMessageTransferable>>): void;
countMessages(queue: TQueueExtendedParams, cb: ICallback<number>): void;
getMessageIds(queue: TQueueExtendedParams, page: number, pageSize: number, cb: ICallback<IBrowserPage<string>>): void;
}
//# sourceMappingURL=message-browser.d.ts.map