liqian 2 years ago
parent
commit
10d70b098b
1 changed files with 13 additions and 9 deletions
  1. 13 9
      utils.py

+ 13 - 9
utils.py

@@ -187,17 +187,21 @@ def run_command(client, instance_ids, command):
     """
     批量执行命令
     :param client: 客户端连接
-    :param instance_ids: 实例id列表, type-list
+    :param instance_ids: 实例id列表, type-list, 最多能指定50台ECS实例ID
     :param command: 命令 type-string
     :return:
     """
-    request = RunCommandRequest()
-    request.set_accept_format('json')
-    request.set_Type("RunShellScript")
-    request.set_CommandContent(command)
-    request.set_InstanceIds(instance_ids)
-    response = send_request(client=client, request=request)
-    logging.info(response)
+    for i in range(len(instance_ids) // 50 + 1):
+        instance_id_list = instance_ids[i * 50:(i + 1) * 50]
+        if len(instance_id_list) == 0:
+            return
+        request = RunCommandRequest()
+        request.set_accept_format('json')
+        request.set_Type("RunShellScript")
+        request.set_CommandContent(command)
+        request.set_InstanceIds(instance_id_list)
+        response = send_request(client=client, request=request)
+        logging.info(response)
 
 
 def get_instance_ids(client, slb_id):
@@ -259,7 +263,7 @@ def send_file_to_ecs(client, instance_id_list, target_dir, name, content):
     """
     发送文件到ecs
     :param client:
-    :param instance_id_list: 取值范围:1-50,最多能指定50台ECS实例ID
+    :param instance_id_list: 最多能指定50台ECS实例ID
     :param target_dir: 文件存放目录 type-string
     :param name: 文件名 type-string
     :param content: 文件内容 type-string