Skip to content

Commit

Permalink
OpenConceptLab/ocl_issues#927 Redis clustering, attempt to fix RedisS…
Browse files Browse the repository at this point in the history
…ervice
  • Loading branch information
rkorytkowski committed Aug 11, 2023
1 parent 9377fa1 commit 6966a47
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
19 changes: 10 additions & 9 deletions core/common/services.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,14 +200,15 @@ def __resource(cls):


class RedisService: # pragma: no cover
def __init__(self):
self.conn = get_redis_connection('default')
@staticmethod
def get_client():
return get_redis_connection('default')

def set(self, key, val, **kwargs):
return self.conn.set(key, val, **kwargs)
return self.get_client().set(key, val, **kwargs)

def set_json(self, key, val):
return self.conn.set(key, json.dumps(val))
return self.get_client().set(key, json.dumps(val))

def get_formatted(self, key):
val = self.get(key)
Expand All @@ -222,21 +223,21 @@ def get_formatted(self, key):
return val

def exists(self, key):
return self.conn.exists(key)
return self.get_client().exists(key)

def get(self, key):
return self.conn.get(key)
return self.get_client().get(key)

def keys(self, pattern):
return self.conn.keys(pattern)
return self.get_client().keys(pattern)

def get_int(self, key):
return int(self.conn.get(key).decode('utf-8'))
return int(self.get_client().get(key).decode('utf-8'))

def get_pending_tasks(self, queue, include_task_names, exclude_task_names=None):
# queue = 'bulk_import_root'
# task_name = 'core.common.tasks.bulk_import_parallel_inline'
values = self.conn.lrange(queue, 0, -1)
values = self.get_client().lrange(queue, 0, -1)
tasks = []
exclude_task_names = exclude_task_names or []
if values:
Expand Down
2 changes: 1 addition & 1 deletion core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@
REDIS_PORT = os.environ.get('REDIS_PORT', 6379)
REDIS_DB = 0
REDIS_HOST = os.environ.get('REDIS_HOST', 'redis')
REDIS_URL = f"redis://{REDIS_HOST}:{REDIS_PORT}"
REDIS_URL = f"redis://{REDIS_HOST}:{REDIS_PORT}/{REDIS_DB}"

REDIS_SENTINELS = os.environ.get('REDIS_SENTINELS', None)
REDIS_SENTINELS_MASTER = os.environ.get('REDIS_SENTINELS_MASTER', 'default')
Expand Down

0 comments on commit 6966a47

Please sign in to comment.