summaryrefslogtreecommitdiff
path: root/redis/cluster.py
diff options
context:
space:
mode:
authorDongkeun Lee <3315213+zakaf@users.noreply.github.com>2023-01-11 18:55:45 +0900
committerGitHub <noreply@github.com>2023-01-11 11:55:45 +0200
commit7dd73a306add608807c372a98d833b7cb3394681 (patch)
treed8119dd4bf102bb0bbcb422feebbabb113a29b00 /redis/cluster.py
parentbae6385c1b0097a1d85c7825604170477d193481 (diff)
downloadredis-py-7dd73a306add608807c372a98d833b7cb3394681.tar.gz
add support for custom connection pool class in NodesManager (#2547)
Co-authored-by: zach.lee <zach.lee@sendbird.com>
Diffstat (limited to 'redis/cluster.py')
-rw-r--r--redis/cluster.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/redis/cluster.py b/redis/cluster.py
index 235d8f2..5f730a8 100644
--- a/redis/cluster.py
+++ b/redis/cluster.py
@@ -121,6 +121,7 @@ REDIS_ALLOWED_KEYS = (
"charset",
"connection_class",
"connection_pool",
+ "connection_pool_class",
"client_name",
"credential_provider",
"db",
@@ -1267,6 +1268,7 @@ class NodesManager:
require_full_coverage=False,
lock=None,
dynamic_startup_nodes=True,
+ connection_pool_class=ConnectionPool,
**kwargs,
):
self.nodes_cache = {}
@@ -1277,6 +1279,7 @@ class NodesManager:
self.from_url = from_url
self._require_full_coverage = require_full_coverage
self._dynamic_startup_nodes = dynamic_startup_nodes
+ self.connection_pool_class = connection_pool_class
self._moved_exception = None
self.connection_kwargs = kwargs
self.read_load_balancer = LoadBalancer()
@@ -1420,7 +1423,7 @@ class NodesManager:
# Create a redis node with a costumed connection pool
kwargs.update({"host": host})
kwargs.update({"port": port})
- r = Redis(connection_pool=ConnectionPool(**kwargs))
+ r = Redis(connection_pool=self.connection_pool_class(**kwargs))
else:
r = Redis(host=host, port=port, **kwargs)
return r