Fix: Add keep-alive options to Redis clients to prevent idle timeouts and socket closing. (#4377)

* redis keepalive mechanism for all redis

* removed offline queue commands

* Simplified changes for consistency. Added REDIS_KEEP_ALIVE env variable.

* update redis socket alive env variable

* lint fix

---------

Co-authored-by: Henry <hzj94@hotmail.com>
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
This commit is contained in:
nikitas-novatix
2025-05-14 04:29:32 +02:00
committed by GitHub
parent 98e75ad7d6
commit eadf1b11b3
14 changed files with 118 additions and 15 deletions
@@ -83,10 +83,19 @@ class RedisEmbeddingsCache implements INode {
host,
username,
password,
keepAlive:
process.env.REDIS_KEEP_ALIVE && !isNaN(parseInt(process.env.REDIS_KEEP_ALIVE, 10))
? parseInt(process.env.REDIS_KEEP_ALIVE, 10)
: undefined,
...tlsOptions
})
} else {
client = new Redis(redisUrl)
client = new Redis(redisUrl, {
keepAlive:
process.env.REDIS_KEEP_ALIVE && !isNaN(parseInt(process.env.REDIS_KEEP_ALIVE, 10))
? parseInt(process.env.REDIS_KEEP_ALIVE, 10)
: undefined
})
}
ttl ??= '3600'