From 260f762a8c01531d37c40d70c764f87032f0285d Mon Sep 17 00:00:00 2001 From: ycggyao Date: Thu, 9 Jan 2025 15:27:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(backend):=20redis=E9=9B=86=E7=BE=A4?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=B6=85=E5=87=BA=E4=B8=8B=E6=A0=87=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20#8996?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../redis/resources/redis_cluster/query.py | 13 +++++++++++-- dbm-ui/backend/ticket/views.py | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/dbm-ui/backend/db_services/redis/resources/redis_cluster/query.py b/dbm-ui/backend/db_services/redis/resources/redis_cluster/query.py index 1d7d0ce7b0..c46cdb299e 100644 --- a/dbm-ui/backend/db_services/redis/resources/redis_cluster/query.py +++ b/dbm-ui/backend/db_services/redis/resources/redis_cluster/query.py @@ -149,8 +149,17 @@ def _to_cluster_representation( ) except IndexError: # 异常处理 因nosqlstoragesetdtl的分片数据只有redis为master才有seg_range值 以下处理是slave找出对应master seg_range并赋予值 供主从对应排序处理 - master = ejector_id__storage_map.get(inst.as_receiver.all()[0].ejector_id) - seg_range = master.nosqlstoragesetdtl_set.all()[0].seg_range if master is not None else "-1" + receivers = inst.as_receiver.all() + # 检查receivers是否为空 + if receivers: + master = ejector_id__storage_map.get(receivers[0].ejector_id) + seg_range = ( + master.nosqlstoragesetdtl_set.all()[0].seg_range + if master.nosqlstoragesetdtl_set.all() + else "-1" + ) + else: + seg_range = "-1" except Exception: # 如果无法找到seg_range,则默认为-1。有可能实例处于restoring状态(比如集群容量变更时) seg_range = "-1" diff --git a/dbm-ui/backend/ticket/views.py b/dbm-ui/backend/ticket/views.py index 4b31073435..59ed2d03df 100644 --- a/dbm-ui/backend/ticket/views.py +++ b/dbm-ui/backend/ticket/views.py @@ -476,7 +476,7 @@ def calculate_status_count(field_name, relation_name): return count_map # 计算我的代办 - results["Pending"] = calculate_status_count("operators", "todo_of_ticket") + results["pending"] = calculate_status_count("operators", "todo_of_ticket") # 计算我的协助 results["to_help"] = calculate_status_count("helpers", "todo_of_ticket") # 我负责的业务