diff --git a/src/config.ts b/src/config.ts index d7deb4b..352dee0 100644 --- a/src/config.ts +++ b/src/config.ts @@ -134,6 +134,7 @@ addDefaults(config, { }, disableOfflineQueue: true, expiryTime: 24 * 60 * 60, + getTimeout: 40 } }); loadFromEnv(config); diff --git a/src/types/config.model.ts b/src/types/config.model.ts index 56a271c..1fb6d42 100644 --- a/src/types/config.model.ts +++ b/src/types/config.model.ts @@ -4,6 +4,7 @@ import * as redis from "redis"; interface RedisConfig extends redis.RedisClientOptions { enabled: boolean; expiryTime: number; + getTimeout: number; } export interface CustomPostgresConfig extends PoolConfig { diff --git a/src/utils/redis.ts b/src/utils/redis.ts index 76a607a..06a89d7 100644 --- a/src/utils/redis.ts +++ b/src/utils/redis.ts @@ -31,10 +31,9 @@ if (config.redis?.enabled) { client.connect(); exportClient = client as RedisSB; - const timeoutDuration = 40; const get = client.get.bind(client); exportClient.get = (key) => new Promise((resolve, reject) => { - const timeout = setTimeout(() => reject(), timeoutDuration); + const timeout = setTimeout(() => reject(), config.redis.getTimeout); get(key).then((reply) => { clearTimeout(timeout); resolve(reply);