Merge pull request #69 from brendan-ch/chore/improved-redis-handling

chore/improved-redis-handling
This commit is contained in:
2025-09-01 12:40:53 -07:00
committed by GitHub
3 changed files with 10 additions and 1 deletions

View File

@@ -18,3 +18,6 @@ RATE_LIMITS_DISABLED=
RATE_LIMIT_WINDOW_MS= RATE_LIMIT_WINDOW_MS=
RATE_LIMIT_DELAY_AFTER_REQUESTS= RATE_LIMIT_DELAY_AFTER_REQUESTS=
RATE_LIMIT_DELAY_MULTIPLIER_MS= RATE_LIMIT_DELAY_MULTIPLIER_MS=
# Redis connection
REDIS_URL=

View File

@@ -21,3 +21,4 @@ export const RATE_LIMIT_DELAY_MULTIPLIER_MS = process.env.RATE_LIMIT_DELAY_MULTI
? parseInt(process.env.RATE_LIMIT_DELAY_MULTIPLIER_MS) ? parseInt(process.env.RATE_LIMIT_DELAY_MULTIPLIER_MS)
: 1000; : 1000;
export const REDIS_RECONNECT_INTERVAL = 30000;

View File

@@ -1,4 +1,5 @@
import { createClient } from 'redis'; import { createClient } from 'redis';
import { REDIS_RECONNECT_INTERVAL } from "../environment";
export abstract class BaseRedisRepository { export abstract class BaseRedisRepository {
protected redisClient; protected redisClient;
@@ -9,10 +10,14 @@ export abstract class BaseRedisRepository {
socket: { socket: {
tls: process.env.NODE_ENV === 'production', tls: process.env.NODE_ENV === 'production',
rejectUnauthorized: false, rejectUnauthorized: false,
} reconnectStrategy: REDIS_RECONNECT_INTERVAL,
},
}), }),
) { ) {
this.redisClient = redisClient; this.redisClient = redisClient;
this.redisClient.on('error', (err) => {
console.error(err.stack);
});
} }
get isReady() { get isReady() {