|  | @@ -283,8 +283,6 @@ def send_request(ecs_client, request):
 | 
	
		
			
				|  |  |      :param request: 请求配置
 | 
	
		
			
				|  |  |      :return: response
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  | -    print(ecs_client, request)
 | 
	
		
			
				|  |  | -    print(2222222222)
 | 
	
		
			
				|  |  |      request.set_accept_format('json')
 | 
	
		
			
				|  |  |      try:
 | 
	
		
			
				|  |  |          response = ecs_client.do_action_with_exception(request)
 | 
	
	
		
			
				|  | @@ -455,32 +453,37 @@ async def list_server_group_servers_async(alb_client, server_group_id):
 | 
	
		
			
				|  |  |          return []
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -def update_server_group_server_weight(alb_client, server_group_id, instance_id, weight, port):
 | 
	
		
			
				|  |  | +def update_server_group_server_weight(alb_client, server_group_id, instance_id_list, weight, port):
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      更指定服务器在服务器组中的权重
 | 
	
		
			
				|  |  |      :param alb_client: ALB客户端
 | 
	
		
			
				|  |  |      :param server_group_id: 服务器组ID
 | 
	
		
			
				|  |  | -    :param instance_id: 实例ID
 | 
	
		
			
				|  |  | +    :param instance_id_list: 实例ID
 | 
	
		
			
				|  |  |      :param weight: 权重值
 | 
	
		
			
				|  |  |      :param port: 后端服务器使用的端口
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  | -    server = alb_20200616_models.UpdateServerGroupServersAttributeRequestServers(
 | 
	
		
			
				|  |  | -        server_type='Ecs',
 | 
	
		
			
				|  |  | -        server_id=instance_id,
 | 
	
		
			
				|  |  | -        weight=weight,
 | 
	
		
			
				|  |  | -        port=port
 | 
	
		
			
				|  |  | -    )
 | 
	
		
			
				|  |  | -    request = alb_20200616_models.UpdateServerGroupServersAttributeRequest(
 | 
	
		
			
				|  |  | -        servers=[server],
 | 
	
		
			
				|  |  | -        server_group_id=server_group_id
 | 
	
		
			
				|  |  | -    )
 | 
	
		
			
				|  |  | -    runtime = util_models.RuntimeOptions()
 | 
	
		
			
				|  |  | -    try:
 | 
	
		
			
				|  |  | -        alb_client.update_server_group_servers_attribute_with_options(request, runtime)
 | 
	
		
			
				|  |  | -        print(f"Successfully updated server {instance_id} in group {server_group_id} to weight {weight}.")
 | 
	
		
			
				|  |  | -    except Exception as error:
 | 
	
		
			
				|  |  | -        print(str(error))
 | 
	
		
			
				|  |  | -        UtilClient.assert_as_string(str(error))
 | 
	
		
			
				|  |  | +    # for i in range(0, len(instance_id_list), 20):
 | 
	
		
			
				|  |  | +    #     instances_list = instance_id_list[i * 20:(i + 1) * 20]
 | 
	
		
			
				|  |  | +    #     if not instances_list:
 | 
	
		
			
				|  |  | +    #         return
 | 
	
		
			
				|  |  | +    print(instance_id_list)
 | 
	
		
			
				|  |  | +    for server_id in instance_id_list:
 | 
	
		
			
				|  |  | +        server = alb_20200616_models.UpdateServerGroupServersAttributeRequestServers(
 | 
	
		
			
				|  |  | +            server_type='Ecs',
 | 
	
		
			
				|  |  | +            server_id=server_id,
 | 
	
		
			
				|  |  | +            weight=weight,
 | 
	
		
			
				|  |  | +            port=port
 | 
	
		
			
				|  |  | +        )
 | 
	
		
			
				|  |  | +        request = alb_20200616_models.UpdateServerGroupServersAttributeRequest(
 | 
	
		
			
				|  |  | +            servers=[server],
 | 
	
		
			
				|  |  | +            server_group_id=server_group_id
 | 
	
		
			
				|  |  | +        )
 | 
	
		
			
				|  |  | +        runtime = util_models.RuntimeOptions()
 | 
	
		
			
				|  |  | +        try:
 | 
	
		
			
				|  |  | +            alb_client.update_server_group_servers_attribute_with_options(request, runtime)
 | 
	
		
			
				|  |  | +            logging.info(f"Successfully updated server {server_id} in group {server_group_id} to weight {weight}.")
 | 
	
		
			
				|  |  | +        except Exception as error:
 | 
	
		
			
				|  |  | +            logging.error(f"Failed to update server {server_id}: {str(error)}")
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  def update_server_group_servers_attribute(alb_client, server_group_id_list, instance_id_list, weight_list, port):
 | 
	
		
			
				|  |  |      """
 | 
	
	
		
			
				|  | @@ -491,13 +494,21 @@ def update_server_group_servers_attribute(alb_client, server_group_id_list, inst
 | 
	
		
			
				|  |  |      :param weight_list: 权重修改列表 type-list [(weight, sleep_time), ...]
 | 
	
		
			
				|  |  |      :param port: 后端服务器使用的端口
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  | -    for server_group_id in server_group_id_list:
 | 
	
		
			
				|  |  | -        for instance_id in instance_id_list:
 | 
	
		
			
				|  |  | -            for weight, sleep_time in weight_list:
 | 
	
		
			
				|  |  | -                update_server_group_server_weight(alb_client, server_group_id, instance_id, weight, port)
 | 
	
		
			
				|  |  | -                time.sleep(sleep_time)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    for weight, sleep_time in weight_list:
 | 
	
		
			
				|  |  | +        logging.info(f"修改权重中: weight = {weight}")
 | 
	
		
			
				|  |  | +        for server_group_id in server_group_id_list:
 | 
	
		
			
				|  |  | +            flag = True
 | 
	
		
			
				|  |  | +            while flag:
 | 
	
		
			
				|  |  | +                try:
 | 
	
		
			
				|  |  | +                    update_server_group_server_weight(alb_client=alb_client, server_group_id=server_group_id, instance_id_list=instance_id_list,
 | 
	
		
			
				|  |  | +                                             weight=weight, port=port)
 | 
	
		
			
				|  |  | +                    logging.info(f"alb: {server_group_id} finished!")
 | 
	
		
			
				|  |  | +                    flag = False
 | 
	
		
			
				|  |  | +                except Exception as e:
 | 
	
		
			
				|  |  | +                    logging.warning(f"Error updating group {server_group_id}, retrying in 10 seconds: {str(e)}")
 | 
	
		
			
				|  |  | +                    time.sleep(10)
 | 
	
		
			
				|  |  | +                    continue
 | 
	
		
			
				|  |  | +        time.sleep(sleep_time)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  async def update_server_group_server_weight_async(alb_client, server_group_id, instance_id, weight, port):
 |