19 lines
506 B
TypeScript
19 lines
506 B
TypeScript
|
|
import Redis from 'ioredis';
|
||
|
|
|
||
|
|
import { logger } from '@/lib/logger';
|
||
|
|
|
||
|
|
const redisUrl = process.env.REDIS_URL!;
|
||
|
|
|
||
|
|
export const redis = new Redis(redisUrl, {
|
||
|
|
maxRetriesPerRequest: 3,
|
||
|
|
retryStrategy(times) {
|
||
|
|
const delay = Math.min(times * 200, 2000);
|
||
|
|
return delay;
|
||
|
|
},
|
||
|
|
lazyConnect: true,
|
||
|
|
});
|
||
|
|
|
||
|
|
redis.on('error', (err) => logger.error({ err }, 'Redis connection error'));
|
||
|
|
redis.on('connect', () => logger.info('Redis connected'));
|
||
|
|
redis.on('reconnecting', () => logger.warn('Redis reconnecting'));
|