UNPKG

whatsapp-crm-common

Version:

Componentes compartidos para servicios de WhatsApp CRM - Common utilities and types for WhatsApp CRM system

82 lines 2.53 kB
import { QueueName } from "../events/types/event-types"; /** * Configuración específica para cada cola */ export interface QueueConfig { /** Nombre de la cola */ name: string; /** Configuraciones por defecto para los jobs */ defaultJobOptions: { /** Número máximo de intentos */ attempts: number; /** Configuración de backoff para reintentos */ backoff: { type: "fixed" | "exponential"; delay: number; }; /** TTL del job en ms */ ttl?: number; /** Delay antes de procesar */ delay?: number; /** Prioridad por defecto */ priority?: number; }; /** Configuraciones del worker */ workerOptions: { /** Número de trabajos concurrentes */ concurrency: number; /** Configuración de rate limiting */ limiter?: { /** Máximo número de jobs por período */ max: number; /** Duración del período en ms */ duration: number; }; /** Configuraciones avanzadas */ settings?: { /** Tiempo máximo para procesar un job */ stalledInterval?: number; /** Número máximo de jobs en stalled */ maxStalledCount?: number; }; }; } /** * Configuraciones para todas las colas del sistema */ export declare const queueConfigs: Record<QueueName, QueueConfig>; /** * Configuración global de colas */ export declare const globalQueueConfig: { /** Configuración de conexión Redis */ connection: { /** Prefijo para las keys de las colas */ prefix: string; }; /** Configuraciones de limpieza automática */ cleanup: { /** Limpiar jobs completados después de X ms */ removeOnComplete: number; /** Limpiar jobs fallidos después de X ms */ removeOnFail: number; /** Intervalo de limpieza en ms */ cleanupInterval: number; }; /** Configuraciones de monitoreo */ monitoring: { /** Habilitar métricas */ enableMetrics: boolean; /** Intervalo de reporte de métricas */ metricsInterval: number; }; }; /** * Obtiene la configuración para una cola específica */ export declare function getQueueConfig(queueName: QueueName): QueueConfig; /** * Obtiene todas las configuraciones de colas */ export declare function getAllQueueConfigs(): Record<QueueName, QueueConfig>; //# sourceMappingURL=queue-config.d.ts.map