Explorar o código

add send_file_to_ecs log

xuekailun hai 4 meses
pai
achega
120f11b4d9
Modificáronse 1 ficheiros con 34 adicións e 3 borrados
  1. 34 3
      utils.py

+ 34 - 3
utils.py

@@ -367,8 +367,6 @@ def remove_servers_from_server_group(alb_client, server_group_id, instance_id):
         logging.error(f"Failed to remove server {instance_id} from server group {server_group_id}: {str(e)}")
 
 
-
-
 def send_file_to_ecs(ecs_client, instance_id_list, target_dir, name, content):
     """
     发送文件到ecs
@@ -379,9 +377,14 @@ def send_file_to_ecs(ecs_client, instance_id_list, target_dir, name, content):
     :param content: 文件内容 type-string
     :return:
     """
+    if not instance_id_list:
+        logging.warning("实例ID列表为空,无法发送文件。")
+        return
+
     for i in range(len(instance_id_list) // 50 + 1):
         instance_ids = instance_id_list[i * 50:(i + 1) * 50]
         if len(instance_ids) == 0:
+            logging.info("没有更多的实例ID可供处理,退出。")
             return
         request = SendFileRequest()
         request.set_Content(content)
@@ -389,7 +392,35 @@ def send_file_to_ecs(ecs_client, instance_id_list, target_dir, name, content):
         request.set_Name(name)
         request.set_Overwrite(True)
         request.set_InstanceIds(instance_ids)
-        response = send_request(ecs_client=ecs_client, request=request)
+        try:
+            logging.info(f"正在向实例 {instance_ids} 发送文件 '{name}' 到目录 '{target_dir}'")
+            response = send_request(ecs_client=ecs_client, request=request)
+            logging.info(f"成功发送文件到实例 {instance_ids},响应: {response}")
+        except Exception as e:
+            logging.error(f"发送文件到实例 {instance_ids} 失败,错误: {str(e)}")
+
+
+# def send_file_to_ecs(ecs_client, instance_id_list, target_dir, name, content):
+#     """
+#     发送文件到ecs
+#     :param ecs_client:
+#     :param instance_id_list: 最多能指定50台ECS实例ID
+#     :param target_dir: 文件存放目录 type-string
+#     :param name: 文件名 type-string
+#     :param content: 文件内容 type-string
+#     :return:
+#     """
+#     for i in range(len(instance_id_list) // 50 + 1):
+#         instance_ids = instance_id_list[i * 50:(i + 1) * 50]
+#         if len(instance_ids) == 0:
+#             return
+#         request = SendFileRequest()
+#         request.set_Content(content)
+#         request.set_TargetDir(target_dir)
+#         request.set_Name(name)
+#         request.set_Overwrite(True)
+#         request.set_InstanceIds(instance_ids)
+#         response = send_request(ecs_client=ecs_client, request=request)
 
 
 def stop_instances(ecs_client, instance_ids, force_stop=False):