whatsapp-crm-common
Version:
Componentes compartidos para servicios de WhatsApp CRM - Common utilities and types for WhatsApp CRM system
81 lines • 2.07 kB
TypeScript
import Redis from "ioredis";
/**
* Configuración de Redis para el sistema
*/
export interface RedisConfig {
/** URL de conexión a Redis */
url?: string;
/** Host de Redis */
host?: string;
/** Puerto de Redis */
port?: number;
/** Password de Redis */
password?: string;
/** Base de datos de Redis */
db?: number;
/** Configuraciones adicionales */
options?: {
/** Número máximo de reintentos (null para BullMQ) */
maxRetriesPerRequest?: number | null;
/** Timeout de conexión */
connectTimeout?: number;
/** Timeout de comandos */
commandTimeout?: number;
/** Prefijo para las keys */
keyPrefix?: string;
};
}
/**
* Cliente Redis singleton
*/
export declare class RedisClient {
private static instance;
private redis;
private config;
private constructor();
/**
* Obtiene la instancia singleton del cliente Redis
*/
static getInstance(config?: RedisConfig): RedisClient;
/**
* Obtiene el cliente Redis
*/
getClient(): Redis;
/**
* Crea una conexión Redis específica para BullMQ (sin keyPrefix)
*/
createBullMQConnection(): Redis;
/**
* Conecta al servidor Redis
*/
connect(): Promise<void>;
/**
* Desconecta del servidor Redis
*/
disconnect(): Promise<void>;
/**
* Verifica si la conexión está activa
*/
isConnected(): boolean;
/**
* Obtiene información del servidor Redis
*/
getInfo(): Promise<any>;
/**
* Configura los event listeners para el cliente Redis
*/
private setupEventListeners;
/**
* Parsea la información del servidor Redis
*/
private parseRedisInfo;
}
/**
* Configuración por defecto de Redis
*/
export declare const defaultRedisConfig: RedisConfig;
/**
* Función helper para crear configuración Redis desde configuración global
*/
export declare function createRedisConfigFromGlobal(): RedisConfig;
//# sourceMappingURL=redis-config.d.ts.map