fix(redis): add reconnect strategy to prevent closed client errors

This commit is contained in:
Garfield
2026-06-12 13:08:36 -04:00
parent a326611806
commit de6d6ae9de
2 changed files with 12 additions and 3 deletions

View File

@@ -22,7 +22,7 @@ spec:
fsGroup: 1000
containers:
- name: hermes-mcp
image: localhost:32000/hermes-mcp@sha256:f7895aad093acb740dde7f1acbb97644ac33b825c68b8119c294d2ed6d675158
image: localhost:32000/hermes-mcp@sha256:c3d6ce959184e3fdf0d33ce84547aa0b0092ffdf535da90e09e18e161108ed6a
imagePullPolicy: Always
securityContext:
allowPrivilegeEscalation: false

View File

@@ -2,9 +2,18 @@ import { createClient } from 'redis';
const redis = createClient({
url: process.env.REDIS_URL,
socket: { connectTimeout: 3000, socketTimeout: 5000 },
socket: {
connectTimeout: 3000,
socketTimeout: 5000,
reconnectStrategy: (retries) => Math.min(retries * 100, 3000),
},
});
redis.on('error', (err) => console.error('[redis] error:', err.message));
redis.connect().catch((err) => console.error('[redis] connect error:', err));
redis.on('connect', () => console.log('[redis] connected'));
redis.on('reconnecting', () => console.log('[redis] reconnecting...'));
redis.on('end', () => console.log('[redis] connection ended'));
redis.connect().catch((err) => console.error('[redis] initial connect error:', err.message));
export default redis;