import env from '#start/env' import { type RedisOptions } from 'ioredis' /** * Connexion Redis partagée pour BullMQ. On garde un objet d'options * (et pas une instance) parce que BullMQ instancie ses propres clients * pour chaque queue/worker. */ export const redisConnection: RedisOptions = { host: env.get('REDIS_HOST', 'localhost'), port: env.get('REDIS_PORT', 6379), password: env.get('REDIS_PASSWORD') || undefined, // Requis par BullMQ pour les blocking commands. maxRetriesPerRequest: null, } /** * Liste des queues. La concurrence est appliquée côté worker. * Ajouter une queue ici → ajouter un Worker correspondant dans #start/queue.ts. */ export const queueNames = ['ocr', 'relances', 'checkins', 'kpis'] as const export type QueueName = (typeof queueNames)[number] export const queueConcurrency: Record = { ocr: 2, relances: 5, checkins: 5, kpis: 1, }