|  | @@ -347,15 +347,19 @@ def add_backend_servers(client, slb_id, instances):
 | 
	
		
			
				|  |  |      :return:
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      try:
 | 
	
		
			
				|  |  | -        request = AddBackendServersRequest()
 | 
	
		
			
				|  |  | -        request.set_accept_format('json')
 | 
	
		
			
				|  |  | -        request.set_LoadBalancerId(slb_id)
 | 
	
		
			
				|  |  | -        backend_servers = [
 | 
	
		
			
				|  |  | -            {"ServerId": instance_id, "Weight": "0", "Type": "ecs", "ServerIp": ip_address}
 | 
	
		
			
				|  |  | -            for instance_id, ip_address in instances]
 | 
	
		
			
				|  |  | -        request.set_BackendServers(backend_servers)
 | 
	
		
			
				|  |  | -        response = client.do_action_with_exception(request)
 | 
	
		
			
				|  |  | -        return response
 | 
	
		
			
				|  |  | +        for i in range(len(instances) // 20 + 1):
 | 
	
		
			
				|  |  | +            instances_list = instances[i * 20:(i + 1) * 20]
 | 
	
		
			
				|  |  | +            if len(instances_list) == 0:
 | 
	
		
			
				|  |  | +                return
 | 
	
		
			
				|  |  | +            request = AddBackendServersRequest()
 | 
	
		
			
				|  |  | +            request.set_accept_format('json')
 | 
	
		
			
				|  |  | +            request.set_LoadBalancerId(slb_id)
 | 
	
		
			
				|  |  | +            backend_servers = [
 | 
	
		
			
				|  |  | +                {"ServerId": instance_id, "Weight": "0", "Type": "ecs", "ServerIp": ip_address}
 | 
	
		
			
				|  |  | +                for instance_id, ip_address in instances_list]
 | 
	
		
			
				|  |  | +            request.set_BackendServers(backend_servers)
 | 
	
		
			
				|  |  | +            response = client.do_action_with_exception(request)
 | 
	
		
			
				|  |  | +            return response
 | 
	
		
			
				|  |  |      except Exception as e:
 | 
	
		
			
				|  |  |          logging.error(e)
 | 
	
		
			
				|  |  |          sys.exit()
 | 
	
	
		
			
				|  | @@ -366,18 +370,26 @@ def remove_backend_servers(client, slb_id, instances):
 | 
	
		
			
				|  |  |      服务器从负载均衡移除(一次调用最多可以移除20个后端服务器)
 | 
	
		
			
				|  |  |      :param client:
 | 
	
		
			
				|  |  |      :param slb_id:
 | 
	
		
			
				|  |  | -    :param instances: 实例列表 [(instance_id, ip), ...]
 | 
	
		
			
				|  |  | +    :param instances: 实例列表 [instance_id, ...]
 | 
	
		
			
				|  |  |      :return:
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  | -    request = RemoveBackendServersRequest()
 | 
	
		
			
				|  |  | -    request.set_accept_format('json')
 | 
	
		
			
				|  |  | -    request.set_LoadBalancerId(slb_id)
 | 
	
		
			
				|  |  | -    backend_servers = [
 | 
	
		
			
				|  |  | -        {"ServerId": instance_id, "Weight": "0", "Type": "ecs"}
 | 
	
		
			
				|  |  | -        for instance_id in instances]
 | 
	
		
			
				|  |  | -    request.set_BackendServers(backend_servers)
 | 
	
		
			
				|  |  | -    response = client.do_action_with_exception(request)
 | 
	
		
			
				|  |  | -    return response
 | 
	
		
			
				|  |  | +    try:
 | 
	
		
			
				|  |  | +        for i in range(len(instances) // 20 + 1):
 | 
	
		
			
				|  |  | +            instances_list = instances[i * 20:(i + 1) * 20]
 | 
	
		
			
				|  |  | +            if len(instances_list) == 0:
 | 
	
		
			
				|  |  | +                return
 | 
	
		
			
				|  |  | +            request = RemoveBackendServersRequest()
 | 
	
		
			
				|  |  | +            request.set_accept_format('json')
 | 
	
		
			
				|  |  | +            request.set_LoadBalancerId(slb_id)
 | 
	
		
			
				|  |  | +            backend_servers = [
 | 
	
		
			
				|  |  | +                {"ServerId": instance_id, "Weight": "0", "Type": "ecs"}
 | 
	
		
			
				|  |  | +                for instance_id in instances_list]
 | 
	
		
			
				|  |  | +            request.set_BackendServers(backend_servers)
 | 
	
		
			
				|  |  | +            response = client.do_action_with_exception(request)
 | 
	
		
			
				|  |  | +            return response
 | 
	
		
			
				|  |  | +    except Exception as e:
 | 
	
		
			
				|  |  | +        logging.error(e)
 | 
	
		
			
				|  |  | +        sys.exit()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  def set_instance_weight_process_with_slbs(client, slb_id_list, instance_id_list, weight_list):
 | 
	
	
		
			
				|  | @@ -439,7 +451,7 @@ def remove_backend_servers_with_slbs(client, slb_id_list, instances):
 | 
	
		
			
				|  |  |      服务器从负载均衡移除(一次调用最多可以移除20个后端服务器)
 | 
	
		
			
				|  |  |      :param client:
 | 
	
		
			
				|  |  |      :param slb_id_list:
 | 
	
		
			
				|  |  | -    :param instances: 实例列表 [(instance_id, ip), ...]
 | 
	
		
			
				|  |  | +    :param instances: 实例列表 [instance_id, ...]
 | 
	
		
			
				|  |  |      :return:
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      try:
 |