Преглед изворни кода

Refa: ensure Redis stream queue could be created properly (#9223)

### What problem does this PR solve?

Ensure Redis queue could be created properly.

### Type of change

- [x] Refactoring
tags/v0.20.1
Yongteng Lei пре 2 месеци
родитељ
комит
a249803961
No account linked to committer's email address
1 измењених фајлова са 16 додато и 5 уклоњено
  1. 16
    5
      rag/utils/redis_conn.py

+ 16
- 5
rag/utils/redis_conn.py Прегледај датотеку

"""https://redis.io/docs/latest/commands/xreadgroup/""" """https://redis.io/docs/latest/commands/xreadgroup/"""
for _ in range(3): for _ in range(3):
try: try:
group_info = self.REDIS.xinfo_groups(queue_name)
if not any(gi["name"] == group_name for gi in group_info):
self.REDIS.xgroup_create(queue_name, group_name, id="0", mkstream=True)

try:
group_info = self.REDIS.xinfo_groups(queue_name)
if not any(gi["name"] == group_name for gi in group_info):
self.REDIS.xgroup_create(queue_name, group_name, id="0", mkstream=True)
except redis.exceptions.ResponseError as e:
if "no such key" in str(e).lower():
self.REDIS.xgroup_create(queue_name, group_name, id="0", mkstream=True)
elif "busygroup" in str(e).lower():
logging.warning("Group already exists, continue.")
pass
else:
raise

args = { args = {
"groupname": group_name, "groupname": group_name,
"consumername": consumer_name, "consumername": consumer_name,
logging.warning("RedisDB.delete " + str(key) + " got exception: " + str(e)) logging.warning("RedisDB.delete " + str(key) + " got exception: " + str(e))
self.__open__() self.__open__()
return False return False
REDIS_CONN = RedisDB() REDIS_CONN = RedisDB()





Loading…
Откажи
Сачувај