From dac165f4651cd518fed48a0353d2555b5298d0ef Mon Sep 17 00:00:00 2001 From: Alex Date: Sun, 18 May 2025 16:31:27 -0400 Subject: [PATCH] changes to src/client.ts --- src/client.ts | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/client.ts b/src/client.ts index 008a3ff..3bf91f4 100644 --- a/src/client.ts +++ b/src/client.ts @@ -16,16 +16,34 @@ const client = new Client({ ] }) -export const redis = createClient({ +// Create Redis client +const redis = createClient({ url: `redis://${Keys.redisHost}:${Keys.redisPort}`, socket: { - reconnectStrategy: (retries) => Math.min(retries * 100, 3000), + reconnectStrategy: (retries) => Math.min(retries * 100, 3000), // Retry every 100ms, max 3s }, }); +// Log connection events redis.on('error', (err) => console.log(`Redis error: ${err}`)); redis.on('connect', () => console.log('Redis connected')); -redis.connect().catch((err) => console.log(`Redis connection failed: ${err}`)); +redis.on('ready', () => console.log('Redis ready')); + +// Connect only if not already connected +async function ensureConnected() { + if (!redis.isOpen) { + try { + await redis.connect(); + } catch (err) { + console.log(`Redis connection failed: ${err}`); + } + } +} + +// Call ensureConnected on import +ensureConnected().catch((err) => console.log(`Initial Redis connection failed: ${err}`)); + +export { redis }; // Initialize Ollama connection export const ollama = new Ollama({