courrier redis

This commit is contained in:
alma 2025-04-27 13:43:55 +02:00
parent a3f8fd4082
commit 04c0a089ac

View File

@ -9,17 +9,21 @@ let redisClient: Redis | null = null;
*/ */
export function getRedisClient(): Redis { export function getRedisClient(): Redis {
if (!redisClient) { if (!redisClient) {
// Let IoRedis read from environment variables automatically // Set Redis connection parameters from environment variables only
// It will read REDIS_URL, REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, etc. const redisOptions = {
redisClient = new Redis({ host: process.env.REDIS_HOST,
retryStrategy: (times) => { port: process.env.REDIS_PORT ? parseInt(process.env.REDIS_PORT) : undefined,
// Exponential backoff with cap password: process.env.REDIS_PASSWORD,
retryStrategy: (times: number) => {
const delay = Math.min(times * 100, 5000); const delay = Math.min(times * 100, 5000);
return delay; return delay;
}, },
maxRetriesPerRequest: 5, maxRetriesPerRequest: 5,
enableOfflineQueue: true enableOfflineQueue: true
}); };
console.log('Connecting to Redis using environment variables');
redisClient = new Redis(redisOptions);
redisClient.on('error', (err) => { redisClient.on('error', (err) => {
console.error('Redis connection error:', err); console.error('Redis connection error:', err);