Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions redis/multidb/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,17 @@ class MultiDBClient(RedisModuleCommands, CoreCommands):
"""
def __init__(self, config: MultiDbConfig):
self._databases = config.databases()
self._health_checks = config.default_health_checks() if config.health_checks is None else config.health_checks
self._health_checks = config.default_health_checks()

if config.health_checks is not None:
self._health_checks.extend(config.health_checks)

self._health_check_interval = config.health_check_interval
self._failure_detectors = config.default_failure_detectors() \
if config.failure_detectors is None else config.failure_detectors
self._failure_detectors = config.default_failure_detectors()

if config.failure_detectors is not None:
self._failure_detectors.extend(config.failure_detectors)

self._failover_strategy = config.default_failover_strategy() \
if config.failover_strategy is None else config.failover_strategy
self._failover_strategy.set_databases(self._databases)
Expand Down
4 changes: 2 additions & 2 deletions redis/multidb/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ class MultiDbConfig:
databases_config: A list of database configurations.
client_class: The client class used to manage database connections.
command_retry: Retry strategy for executing database commands.
failure_detectors: Optional list of failure detectors for monitoring database failures.
failure_detectors: Optional list of additional failure detectors for monitoring database failures.
failure_threshold: Threshold for determining database failure.
failures_interval: Time interval for tracking database failures.
health_checks: Optional list of health checks performed on databases.
health_checks: Optional list of additional health checks performed on databases.
health_check_interval: Time interval for executing health checks.
health_check_retries: Number of retry attempts for performing health checks.
health_check_backoff: Backoff strategy for health check retries.
Expand Down
1 change: 0 additions & 1 deletion tests/test_multidb/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ def mock_multi_db_config(
config = MultiDbConfig(
databases_config=[Mock(spec=DatabaseConfig)],
failure_detectors=[mock_fd],
health_checks=[mock_hc],
health_check_interval=hc_interval,
failover_strategy=mock_fs,
auto_fallback_interval=auto_fallback_interval,
Expand Down
Loading