diff --git a/server/venueless/settings.py b/server/venueless/settings.py index ce70c1b6..e9a0ca64 100644 --- a/server/venueless/settings.py +++ b/server/venueless/settings.py @@ -5,6 +5,8 @@ from django.utils.crypto import get_random_string from kombu import Queue +from redis.asyncio.retry import Retry +from redis.backoff import ExponentialBackoff BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DATA_DIR = os.environ.get("VENUELESS_DATA_DIR", os.path.join(BASE_DIR, "data")) @@ -111,9 +113,14 @@ } } +redis_connection_kwargs = { + "retry": Retry(ExponentialBackoff(), 3), + "health_check_interval": 120, +} + if os.getenv("VENUELESS_REDIS_URLS", config.get("redis", "urls", fallback="")): REDIS_HOSTS = [ - {"address": u} + {"address": u, **redis_connection_kwargs} for u in os.getenv( "VENUELESS_REDIS_URLS", config.get("redis", "urls", fallback="") ).split(",") @@ -141,7 +148,7 @@ config.get("redis", "db", fallback="0"), ) ) - REDIS_HOSTS = [{"address": redis_url}] + REDIS_HOSTS = [{"address": redis_url, **redis_connection_kwargs}] REDIS_USE_PUBSUB = os.getenv(