소스 검색

feat:添加测试脚本

zhaohaipeng 7 달 전
부모
커밋
7e2096a304
1개의 변경된 파일67개의 추가작업 그리고 47개의 파일을 삭제
  1. 67 47
      ad/ad_monitor_util.py

+ 67 - 47
ad/ad_monitor_util.py

@@ -18,9 +18,9 @@ level_header_template_map = {
 }
 
 level_header_title_content_map = {
-    "info": "广告模型自动更新通知",
-    "error": "广告模型自动更新告警",
-    "warn": "广告模型自动更新告警"
+    "info": "【测试】广告模型自动更新通知",
+    "error": "【测试】广告模型自动更新告警",
+    "warn": "【测试】广告模型自动更新告警"
 }
 
 level_task_status_map = {
@@ -38,8 +38,8 @@ def send_card_msg_to_feishu(webhook, card_json):
         "card": card_json
     }
     print(f"推送飞书消息内容: {json.dumps(payload_message)}")
-    response = requests.request('POST', url=webhook, headers=headers, data=json.dumps(payload_message))
-    print(response.text)
+    # response = requests.request('POST', url=webhook, headers=headers, data=json.dumps(payload_message))
+    # print(response.text)
 
 
 def timestamp_format(timestamp: str) -> str:
@@ -60,53 +60,71 @@ def seconds_convert(seconds):
     return f"{hours}小时 {minutes}分钟 {seconds}秒"
 
 
-def _monitor(level, msg: str, start, elapsed):
+def _monitor(level, msg: str, start, elapsed, top10):
+    """消息推送"""
     """消息推送"""
     now = datetime.now()
-    if now.hour > 6:
-        msg = msg.replace("\\n", "\n").replace("\\t", "\t")
-        mgs_text = f"- 当前时间: {now.strftime('%Y-%m-%d %H:%M:%S')}" \
-                   f"\n- 任务开始时间: {timestamp_format(start)}" \
-                   f"\n- 任务状态: {level_task_status_map[level]}" \
-                   f"\n- 任务耗时: {seconds_convert(elapsed)}" \
-                   f"\n- 任务描述: {msg}"
-        card_json = {
-            "config": {},
-            "i18n_elements": {
-                "zh_cn": [
-                    {
-                        "tag": "markdown",
-                        "content": "",
-                        "text_align": "left",
-                        "text_size": "normal"
-                    },
-                    {
-                        "tag": "markdown",
-                        "content": mgs_text,
-                        "text_align": "left",
-                        "text_size": "normal"
-                    }
-                ]
+    if now.hour < 6:
+        print(f"凌晨六点之前不发送通知, 当前时间: {now.strftime('%Y-%m-%d %H:%M:%S')}")
+        return
+
+    msg = msg.replace("\\n", "\n").replace("\\t", "\t")
+    mgs_text = f"- 当前时间: {now.strftime('%Y-%m-%d %H:%M:%S')}" \
+               f"\n- 任务开始时间: {timestamp_format(start)}" \
+               f"\n- 任务状态: {level_task_status_map[level]}" \
+               f"\n- 任务耗时: {seconds_convert(elapsed)}" \
+               f"\n- 任务描述: {msg}"
+    card_json = {
+        "schema": "2.0",
+        "header": {
+            "title": {
+                "tag": "plain_text",
+                "content": level_header_title_content_map[level]
             },
-            "i18n_header": {
-                "zh_cn": {
-                    "title": {
-                        "tag": "plain_text",
-                        "content": level_header_title_content_map[level]
-                    },
-                    "subtitle": {
-                        "tag": "plain_text",
-                        "content": ""
-                    },
-                    "template": level_header_template_map[level]
+            "template": level_header_template_map[level]
+        },
+        "body": {
+            "elements": [
+                {
+                    "tag": "markdown",
+                    "content": mgs_text,
+                    "text_align": "left",
+                    "text_size": "normal",
+                    "element_id": "overview"
                 }
-            }
+            ]
         }
+    }
+
+    collapsible_panel = {
+        "tag": "collapsible_panel",
+        "header": {
+            "title": {
+                "tag": "markdown",
+                "content": "**Top10差异详情**"
+            },
+            "vertical_align": "center",
+            "padding": "4px 0px 4px 8px"
+        },
+        "border": {
+            "color": "grey",
+            "corner_radius": "5px"
+        },
+        "element_id": "detail",
+        "elements": [
+            {
+                "tag": "markdown",
+                "content": top10,
+                "element_id": "Top10CID"
+            }
+        ]
+    }
+    card_json['body']['elements'].append(collapsible_panel)
 
-        send_card_msg_to_feishu(
-            webhook=server_robot.get('webhook'),
-            card_json=card_json
-        )
+    send_card_msg_to_feishu(
+        webhook=server_robot.get('webhook'),
+        card_json=card_json
+    )
 
 
 if __name__ == '__main__':
@@ -115,11 +133,13 @@ if __name__ == '__main__':
     parser.add_argument('--msg', type=str, help='消息', required=True)
     parser.add_argument('--start', type=str, help='任务开始时间', required=True)
     parser.add_argument('--elapsed', type=int, help='任务耗时【秒】', required=True)
+    parser.add_argument("--top10", type=str, help='Top10打分详情', required=False)
     args = parser.parse_args()
 
     _monitor(
         level=args.level,
         msg=args.msg,
         start=args.start,
-        elapsed=args.elapsed
+        elapsed=args.elapsed,
+        top10=args.top10
     )