mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
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
This commit is contained in:
@ -226,10 +226,21 @@ class RedisDB:
|
|||||||
def queue_consumer(self, queue_name, group_name, consumer_name, msg_id=b">") -> RedisMsg:
|
def queue_consumer(self, queue_name, group_name, consumer_name, msg_id=b">") -> RedisMsg:
|
||||||
"""https://redis.io/docs/latest/commands/xreadgroup/"""
|
"""https://redis.io/docs/latest/commands/xreadgroup/"""
|
||||||
for _ in range(3):
|
for _ in range(3):
|
||||||
|
try:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
group_info = self.REDIS.xinfo_groups(queue_name)
|
group_info = self.REDIS.xinfo_groups(queue_name)
|
||||||
if not any(gi["name"] == group_name for gi in group_info):
|
if not any(gi["name"] == group_name for gi in group_info):
|
||||||
self.REDIS.xgroup_create(queue_name, group_name, id="0", mkstream=True)
|
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,
|
||||||
|
|||||||
Reference in New Issue
Block a user