From c21b09206bb0372cba50ef316ec91dee8eb7dad0 Mon Sep 17 00:00:00 2001 From: Eric Allam Date: Wed, 29 Jan 2025 17:27:19 +0000 Subject: [PATCH] Better handle redis error events --- apps/webapp/app/redis.server.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/webapp/app/redis.server.ts b/apps/webapp/app/redis.server.ts index 0a826f0c3a..61c00c83f8 100644 --- a/apps/webapp/app/redis.server.ts +++ b/apps/webapp/app/redis.server.ts @@ -18,6 +18,8 @@ export function createRedisClient( connectionName: string, options: RedisWithClusterOptions ): Redis | Cluster { + let redis: Redis | Cluster; + if (options.clusterMode) { const nodes: ClusterNode[] = [ { @@ -32,7 +34,7 @@ export function createRedisClient( port: options.port, }); - return new Redis.Cluster(nodes, { + redis = new Redis.Cluster(nodes, { ...options.clusterOptions, redisOptions: { connectionName, @@ -59,7 +61,7 @@ export function createRedisClient( port: options.port, }); - return new Redis({ + redis = new Redis({ connectionName, host: options.host, port: options.port, @@ -69,4 +71,10 @@ export function createRedisClient( ...(options.tlsDisabled ? {} : { tls: {} }), }); } + + redis.on("error", (error) => { + logger.error("Redis client error", { connectionName, error }); + }); + + return redis; }