ソースを参照

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()



読み込み中…
キャンセル
保存