From 4ca7eb7b1bb1e47b9893f0296d8d8a54e723d8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B9=9B=E5=85=AE?= Date: Fri, 12 Jun 2026 06:41:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20Redis=20=E5=81=A5?= =?UTF-8?q?=E5=BA=B7=E6=A3=80=E6=9F=A5=E8=BF=9E=E6=8E=A5=E6=97=B6=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/integrations/redis/redis.client.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/integrations/redis/redis.client.ts b/src/integrations/redis/redis.client.ts index 44a22a2..c4be79f 100644 --- a/src/integrations/redis/redis.client.ts +++ b/src/integrations/redis/redis.client.ts @@ -29,9 +29,13 @@ export class RedisClient implements OnModuleDestroy { } try { - const pong = String( - await this.withTimeout(this.getClient(redisUrl).ping()), - ); + const client = this.getClient(redisUrl); + + if (client.status === 'wait' || client.status === 'end') { + await this.withTimeout(client.connect()); + } + + const pong = String(await this.withTimeout(client.ping())); return pong === 'PONG' ? { status: 'ok' } @@ -62,7 +66,7 @@ export class RedisClient implements OnModuleDestroy { this.client = new Redis(redisUrl, { connectTimeout: redisPingTimeoutMs, enableOfflineQueue: false, - lazyConnect: false, + lazyConnect: true, maxRetriesPerRequest: 1, }); this.client.on('error', () => undefined);