From d7d5c2a4355d875bb9ee517f27c4ce9c17846b24 Mon Sep 17 00:00:00 2001 From: nsantacruz Date: Mon, 4 Mar 2024 16:06:14 +0200 Subject: [PATCH] fix: add redis password when it exists --- app/celery_setup/config.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/celery_setup/config.py b/app/celery_setup/config.py index 7e1592f..1a123d1 100644 --- a/app/celery_setup/config.py +++ b/app/celery_setup/config.py @@ -8,12 +8,19 @@ # Either define SENTINEL_HEADLESS_URL if using sentinel or REDIS_URL for a simple redis instance sentinel_url = os.getenv('SENTINEL_HEADLESS_URL') redis_url = os.getenv('REDIS_URL') +redis_password = os.getenv('REDIS_PASSWORD') def add_db_num_to_url(url, db_num): return url.replace(f':{redis_port}', f':{redis_port}/{db_num}') +def add_password_to_url(url, password): + if len(password) == 0: + return url + return url.replace('redis://', f'redis://:{password}@') + + if sentinel_url: redisdns = dns.resolver.resolve(sentinel_url, 'A') addressstring = [] @@ -28,5 +35,6 @@ def add_db_num_to_url(url, db_num): result_backend_transport_options = {} broker_transport_options = {} else: - broker_url = add_db_num_to_url(f"{redis_url}:{redis_port}", broker_db_num) - result_backend = add_db_num_to_url(f"{redis_url}:{redis_port}", result_backend_db_num) + redis_url = add_password_to_url(f"{redis_url}:{redis_port}", redis_password) + broker_url = add_db_num_to_url(redis_url, broker_db_num) + result_backend = add_db_num_to_url(redis_url, result_backend_db_num)