liqian 2 år sedan
förälder
incheckning
eb01fe500c
1 ändrade filer med 24 tillägg och 21 borttagningar
  1. 24 21
      redis_data_monitor.py

+ 24 - 21
redis_data_monitor.py

@@ -32,7 +32,7 @@ def rov_data_monitor(now_date, now_h):
 def region_data_monitor(now_date, now_h):
     """地域分组数据"""
     # 地域分组小时级列表
-    rule_params = config_.RULE_PARAMS_REGION
+    rule_params = config_.RULE_PARAMS_REGION_APP_TYPE
     key_prefix_dict = {
         '地域分组小时级数据': config_.RECALL_KEY_NAME_PREFIX_REGION_BY_H,
         '地域分组相对24h去重后数据': config_.RECALL_KEY_NAME_PREFIX_DUP1_REGION_24H_H,
@@ -40,26 +40,29 @@ def region_data_monitor(now_date, now_h):
         'rov模型预测列表去重后数据': config_.RECALL_KEY_NAME_PREFIX_DUP_REGION_H,
     }
     region_code_list = [code for region, code in region_code.items()]
-    for rule_key, _ in rule_params.items():
-        for key_con, key_prefix in key_prefix_dict.items():
-            no_update_region_list = []
-            for region in region_code_list:
-                region_key_name = f"{key_prefix}{region}.{rule_key}.{now_date}.{now_h}"
-                if not redis_helper.key_exists(key_name=region_key_name):
-                    no_update_region_list.append(region)
-            if len(no_update_region_list) == len(region_code_list):
-                msg_text = f"\n- 所属项目: rov-server/rov-offline" \
-                           f"\n- 告警名称: 离线更新数据未按时更新告警" \
-                           f"\n- 所属环境: {config_.ENV_TEXT}" \
-                           f"\n- now_date: {now_date}" \
-                           f"\n- now_h: {now_h}" \
-                           f"\n- 告警描述: {key_con}未按时更新, rule_key={rule_key}"
-                log_.info(f"msg_text = {msg_text}")
-                send_msg_to_feishu(
-                    webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'),
-                    key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'),
-                    msg_text=msg_text
-                )
+    for app_type, params in rule_params.items():
+        for data_key, data_param in params['data_params'].items():
+            for rule_key, rule_param in params['rule_params'].items():
+                for key_con, key_prefix in key_prefix_dict.items():
+                    no_update_region_list = []
+                    for region in region_code_list:
+                        region_key_name = f"{key_prefix}{region}.{app_type}.{data_key}.{rule_key}.{now_date}.{now_h}"
+                        if not redis_helper.key_exists(key_name=region_key_name):
+                            no_update_region_list.append(region)
+                    if len(no_update_region_list) == len(region_code_list):
+                        msg_text = f"\n- 所属项目: rov-server/rov-offline" \
+                                   f"\n- 告警名称: 离线更新数据未按时更新告警" \
+                                   f"\n- 所属环境: {config_.ENV_TEXT}" \
+                                   f"\n- appType: {app_type}" \
+                                   f"\n- now_date: {now_date}" \
+                                   f"\n- now_h: {now_h}" \
+                                   f"\n- 告警描述: {key_con}未按时更新, data_key={data_key}, rule_key={rule_key}"
+                        log_.info(f"msg_text = {msg_text}")
+                        send_msg_to_feishu(
+                            webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'),
+                            key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'),
+                            msg_text=msg_text
+                        )
 
 
 def special_videos_monitor(now_date, now_h):