Skip to content

Commit ed35d26

Browse files
committed
feat: add support for SRV records in cluster
1 parent 8aeaa19 commit ed35d26

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/datastore/redis-notifier.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,17 +77,22 @@ export class RedisNotifier {
7777
}
7878

7979
// Redis Cluster configuration
80-
if (process.env.REDIS_CLUSTER_NODES) {
81-
const clusterNodes = process.env.REDIS_CLUSTER_NODES.split(',');
80+
if (process.env.REDIS_CLUSTER_NODES && process.env.REDIS_CLUSTER_NODES.length > 0) {
81+
let isSRVRecord = false;
82+
const clusterNodesArray = process.env.REDIS_CLUSTER_NODES.split(',');
83+
if (clusterNodesArray.length === 1) {
84+
isSRVRecord = true;
85+
}
8286
logger.info(
8387
`RedisNotifier connecting to redis cluster at ${process.env.REDIS_CLUSTER_NODES}`
8488
);
85-
return new Redis.Cluster(clusterNodes, {
89+
return new Redis.Cluster(clusterNodesArray, {
8690
...baseOptions,
8791
redisOptions: {
8892
...baseOptions,
8993
password: process.env.REDIS_CLUSTER_PASSWORD,
9094
},
95+
useSRVRecords: isSRVRecord,
9196
clusterRetryStrategy: times => Math.min(times * 50, 2000),
9297
});
9398
}

0 commit comments

Comments
 (0)