ammend redis conn check to acccount for sentinel

This commit is contained in:
Dan Starner 2020-02-14 09:39:01 -05:00
parent 0a8d39cfe4
commit 03a7f6bbda

View File

@ -13,13 +13,23 @@ class ExtrasConfig(AppConfig):
# Check that we can connect to the configured Redis database. # Check that we can connect to the configured Redis database.
try: try:
rs = redis.Redis( if settings.WEBHOOKS_REDIS_USING_SENTINEL:
host=settings.WEBHOOKS_REDIS_HOST, sentinel = redis.sentinel.Sentinel(
port=settings.WEBHOOKS_REDIS_PORT, settings.WEBHOOKS_REDIS_SENTINELS,
db=settings.WEBHOOKS_REDIS_DATABASE, socket_timeout=settings.WEBHOOKS_REDIS_DEFAULT_TIMEOUT
password=settings.WEBHOOKS_REDIS_PASSWORD or None, )
ssl=settings.WEBHOOKS_REDIS_SSL, rs = sentinel.master_for(
) settings.WEBHOOKS_REDIS_SENTINEL_SERVICE,
socket_timeout=settings.WEBHOOKS_REDIS_DEFAULT_TIMEOUT
)
else:
rs = redis.Redis(
host=settings.WEBHOOKS_REDIS_HOST,
port=settings.WEBHOOKS_REDIS_PORT,
db=settings.WEBHOOKS_REDIS_DATABASE,
password=settings.WEBHOOKS_REDIS_PASSWORD or None,
ssl=settings.WEBHOOKS_REDIS_SSL,
)
rs.ping() rs.ping()
except redis.exceptions.ConnectionError: except redis.exceptions.ConnectionError:
raise ImproperlyConfigured( raise ImproperlyConfigured(