liqian 2 năm trước cách đây
mục cha
commit
7c4c21269f
1 tập tin đã thay đổi với 27 bổ sung25 xóa
  1. 27 25
      utils.py

+ 27 - 25
utils.py

@@ -239,37 +239,43 @@ def set_weight_for_instances(client, slb_id, instance_id_list, weight):
     :param weight: 权重值
     :return: None
     """
-    BackendServers = [{"ServerId": instance_id, "Weight": weight} for instance_id in instance_id_list]
-    request = CommonRequest()
-    request.set_accept_format('json')
-    request.set_domain('slb.aliyuncs.com')
-    request.set_version('2014-05-15')
-    request.set_method('POST')
-    request.set_action_name('SetBackendServers')
-    request.add_query_param('BackendServers', BackendServers)
-    request.add_query_param('LoadBalancerId', slb_id)
-    response = send_request(client=client, request=request)
-    return response
+    for i in range(len(instance_id_list) // 20 + 1):
+        instances_list = instance_id_list[i * 20:(i + 1) * 20]
+        if len(instances_list) == 0:
+            return
+        BackendServers = [{"ServerId": instance_id, "Weight": weight} for instance_id in instances_list]
+        request = CommonRequest()
+        request.set_accept_format('json')
+        request.set_domain('slb.aliyuncs.com')
+        request.set_version('2014-05-15')
+        request.set_method('POST')
+        request.set_action_name('SetBackendServers')
+        request.add_query_param('BackendServers', BackendServers)
+        request.add_query_param('LoadBalancerId', slb_id)
+        response = send_request(client=client, request=request)
 
 
 def send_file_to_ecs(client, instance_id_list, target_dir, name, content):
     """
     发送文件到ecs
     :param client:
-    :param instance_id_list:
+    :param instance_id_list: 取值范围:1-50,最多能指定50台ECS实例ID
     :param target_dir: 文件存放目录 type-string
     :param name: 文件名 type-string
     :param content: 文件内容 type-string
     :return:
     """
-    request = SendFileRequest()
-    request.set_Content(content)
-    request.set_TargetDir(target_dir)
-    request.set_Name(name)
-    request.set_Overwrite(True)
-    request.set_InstanceIds(instance_id_list)
-    response = send_request(client=client, request=request)
-    return response
+    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(client=client, request=request)
 
 
 def stop_instances(client, instance_ids, force_stop=False):
@@ -407,11 +413,7 @@ def set_instance_weight_process_with_slbs(client, slb_id_list, instance_id_list,
             flag = True
             while flag:
                 try:
-                    for i in range(len(instance_id_list) // 40 + 1):
-                        instances_list = instance_id_list[i * 40:(i + 1) * 40]
-                        if len(instances_list) == 0:
-                            break
-                        # set_weight_for_instances(client=client, slb_id=slb_id, instance_id_list=instances_list, weight=weight)
+                    # set_weight_for_instances(client=client, slb_id=slb_id, instance_id_list=instance_id_list, weight=weight)
                     logging.info(f"slb: {slb_id} finished!")
                     flag = False
                 except Exception as e: