|
@@ -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:
|