diff --git a/src/index.ts b/src/index.ts index ccb4aaf..4214c4b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -62,8 +62,14 @@ setGlobalDispatcher( require('dotenv').config(); -// Reading in Redis env vars -const REDIS_CLIENTS = [RedisClientPrefix.DLOB_HELIUS]; +const envClients = []; +const clients = process.env.REDIS_CLIENT?.trim() + .replace(/^\[|\]$/g, '') + .split(/\s*,\s*/); + +clients?.forEach((client) => envClients.push(RedisClientPrefix[client])); + +const REDIS_CLIENTS = envClients.length ? envClients : [RedisClientPrefix.DLOB, RedisClientPrefix.DLOB_HELIUS]; console.log('Redis Clients:', REDIS_CLIENTS); const driftEnv = (process.env.ENV || 'devnet') as DriftEnv; diff --git a/src/publishers/tradesPublisher.ts b/src/publishers/tradesPublisher.ts index a625bd4..3f75af3 100644 --- a/src/publishers/tradesPublisher.ts +++ b/src/publishers/tradesPublisher.ts @@ -36,7 +36,9 @@ setGlobalDispatcher( require('dotenv').config(); const driftEnv = (process.env.ENV || 'devnet') as DriftEnv; const commitHash = process.env.COMMIT; -const redisClientPrefix = RedisClientPrefix.DLOB_HELIUS; +const REDIS_CLIENT = process.env.REDIS_CLIENT || 'DLOB'; +console.log('Redis Clients:', REDIS_CLIENT); +const redisClientPrefix = RedisClientPrefix[REDIS_CLIENT]; //@ts-ignore const sdkConfig = initialize({ env: process.env.ENV }); diff --git a/src/serverLite.ts b/src/serverLite.ts index 7d65dbb..d2e4024 100644 --- a/src/serverLite.ts +++ b/src/serverLite.ts @@ -38,7 +38,14 @@ setGlobalDispatcher( require('dotenv').config(); // Reading in Redis env vars -const REDIS_CLIENTS = [RedisClientPrefix.DLOB, RedisClientPrefix.DLOB_HELIUS]; +const envClients = []; +const clients = process.env.REDIS_CLIENT?.trim() + .replace(/^\[|\]$/g, '') + .split(/\s*,\s*/); + +clients?.forEach((client) => envClients.push(RedisClientPrefix[client])); + +const REDIS_CLIENTS = envClients.length ? envClients : [RedisClientPrefix.DLOB, RedisClientPrefix.DLOB_HELIUS]; console.log('Redis Clients:', REDIS_CLIENTS); const driftEnv = (process.env.ENV || 'devnet') as DriftEnv; diff --git a/src/wsConnectionManager.ts b/src/wsConnectionManager.ts index 01ba6d7..bc7c3ef 100644 --- a/src/wsConnectionManager.ts +++ b/src/wsConnectionManager.ts @@ -34,7 +34,9 @@ const WS_PORT = process.env.WS_PORT || '3000'; console.log(`WS LISTENER PORT : ${WS_PORT}`); const MAX_BUFFERED_AMOUNT = 300000; -const CHANNEL_PREFIX = RedisClientPrefix.DLOB_HELIUS; +const REDIS_CLIENT = process.env.REDIS_CLIENT || 'DLOB'; +const CHANNEL_PREFIX = RedisClientPrefix[REDIS_CLIENT]; +console.log('Redis Clients:', REDIS_CLIENT); const CHANNEL_PREFIX_HELIUS = RedisClientPrefix.DLOB_HELIUS; const sanitiseChannelForClient = (channel: string | undefined): string => {