Files
FarmaFinder/apps/backend/redis-client.js
T
Antoni Nuñez Romeu bd7fe56330
Run Tests on Branches / Detect Changes (push) Successful in 13s
Run Tests on Branches / Backend Tests (push) Successful in 2m9s
Run Tests on Branches / Frontend Tests (push) Has been skipped
Run Tests on Branches / Frontend Mobile Tests (push) Has been skipped
fix: skip Redis connection in test mode — prevents CI hang
The top-level await redisClient.connect() in redis-client.js was
blocking module import when no Redis server is available (CI env).
Add NODE_ENV guard + reconnect strategy with max retries.
2026-07-14 13:03:46 +02:00

32 lines
812 B
JavaScript

import { createClient } from 'redis';
// Create Redis client
const redisClient = createClient({
socket: {
host: process.env.REDIS_HOST || 'localhost',
port: process.env.REDIS_PORT || 6379,
reconnectStrategy: (retries) => {
if (retries > 10) return new Error('Redis max retries reached');
return Math.min(retries * 100, 3000);
}
},
password: process.env.REDIS_PASSWORD || undefined
});
// Error handler
redisClient.on('error', (err) => {
console.error('Redis Client Error:', err);
});
// Connection handler
redisClient.on('connect', () => {
console.log('✅ Connected to Redis');
});
// Connect to Redis — skip in test (services are mocked) or when REDIS_URL is unset
if (process.env.NODE_ENV !== 'test') {
await redisClient.connect();
}
export default redisClient;