n8n
Version:
n8n Workflow Automation Tool
26 lines (25 loc) • 1.33 kB
TypeScript
import type Redis from 'ioredis';
import type { Cluster } from 'ioredis';
import { Logger } from '../../Logger';
import { RedisClientService } from './redis-client.service';
export type RedisClientType = 'subscriber' | 'client' | 'bclient' | 'subscriber(bull)' | 'client(bull)' | 'bclient(bull)' | 'client(cache)' | 'publisher' | 'consumer' | 'producer' | 'list-sender' | 'list-receiver';
export type RedisServiceMessageHandler = ((channel: string, message: string) => void) | ((stream: string, id: string, message: string[]) => void);
declare class RedisServiceBase {
protected readonly logger: Logger;
private readonly redisClientService;
redisClient: Redis | Cluster | undefined;
isInitialized: boolean;
constructor(logger: Logger, redisClientService: RedisClientService);
init(type?: RedisClientType): Promise<void>;
destroy(): Promise<void>;
}
export declare abstract class RedisServiceBaseSender extends RedisServiceBase {
senderId: string;
init(type?: RedisClientType): Promise<void>;
}
export declare abstract class RedisServiceBaseReceiver extends RedisServiceBase {
messageHandlers: Map<string, RedisServiceMessageHandler>;
addMessageHandler(handlerName: string, handler: RedisServiceMessageHandler): void;
removeMessageHandler(handlerName: string): void;
}
export {};