From 859cec49d1446b3a01e35a0939c7992a0c5c61ce Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Fri, 15 Sep 2023 17:55:43 -0400 Subject: [PATCH] make redis client conditional --- backend/src/services/RedisService.ts | 11 ++++++++++- backend/src/utils/setup/backfillData.ts | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/backend/src/services/RedisService.ts b/backend/src/services/RedisService.ts index 1b7646c06..a6ae5b026 100644 --- a/backend/src/services/RedisService.ts +++ b/backend/src/services/RedisService.ts @@ -1,3 +1,12 @@ import { Redis } from "ioredis" -export const redisClient = new Redis(process.env.REDIS_URL as string); \ No newline at end of file +let redisClient: Redis | null; + +if (process.env.REDIS_URL) { + redisClient = new Redis(process.env.REDIS_URL as string); +} else { + console.warn("Redis URL not set, skipping Redis initialization."); + redisClient = null +} + +export { redisClient } \ No newline at end of file diff --git a/backend/src/utils/setup/backfillData.ts b/backend/src/utils/setup/backfillData.ts index e65d29b16..5fa52f132 100644 --- a/backend/src/utils/setup/backfillData.ts +++ b/backend/src/utils/setup/backfillData.ts @@ -689,7 +689,7 @@ export const backfillUserAuthMethods = async () => { export const backfillPermission = async () => { const lockKey = "backfill_permission_lock"; const timeout = 5000; // Lock timeout in milliseconds - const lock = await redisClient.set(lockKey, 1, "PX", timeout, "NX"); + const lock = await redisClient?.set(lockKey, 1, "PX", timeout, "NX"); if (lock) { try { @@ -807,7 +807,7 @@ export const backfillPermission = async () => { } catch (error) { console.error("An error occurred when running script [backfillPermission]:", error); } finally { - await redisClient.del(lockKey); + await redisClient?.del(lockKey); } } else { console.info("Could not acquire lock for script [backfillPermission], skipping");