浏览代码

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
没有帐户链接到提交者的电子邮件
共有 1 个文件被更改,包括 16 次插入5 次删除
  1. 16
    5
      rag/utils/redis_conn.py

+ 16
- 5
rag/utils/redis_conn.py 查看文件

@@ -227,9 +227,20 @@ class RedisDB:
"""https://redis.io/docs/latest/commands/xreadgroup/"""
for _ in range(3):
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 = {
"groupname": group_name,
"consumername": consumer_name,
@@ -338,8 +349,8 @@ class RedisDB:
logging.warning("RedisDB.delete " + str(key) + " got exception: " + str(e))
self.__open__()
return False
REDIS_CONN = RedisDB()



正在加载...
取消
保存