liqian преди 2 години
родител
ревизия
12d99dacee
променени са 2 файла, в които са добавени 29 реда и са изтрити 1 реда
  1. 28 1
      rov_server_update.py
  2. 1 0
      utils.py

+ 28 - 1
rov_server_update.py

@@ -1,5 +1,5 @@
 import time
-
+import requests
 import utils
 import logging
 import os
@@ -52,6 +52,29 @@ start_sh = {
 }
 
 
+def server_health_check(instance_id, health_check_url):
+    """
+    服务健康检查
+    :param instance_id: instanceId
+    :param health_check_url: 服务健康检查url
+    :return:
+    """
+    ip_address = get_ip_address(client=client, instance_id=instance_id)
+    while True:
+        health_url = f"http://{ip_address}:5001/healthcheck"
+        try:
+            http_code = requests.get(health_check_url).status_code
+        except:
+            logging.info("images is downloading")
+            http_code = 0
+
+        if http_code == 200:
+            break
+        else:
+            time.sleep(20)
+
+
+
 def ess_instance(create_client, slb_client, ess_count):
     """
     扩容机器并运行新服务
@@ -73,6 +96,10 @@ def ess_instance(create_client, slb_client, ess_count):
     server_start_sh = os.path.join(start_sh['target_dir'], start_sh['name'])
     server_start_commend = f"sh {server_start_sh}"
     utils.run_command(client=create_client, instance_ids=ess_instance_ids, command=server_start_commend)
+    # 4. 探活
+    health_instance_ids = []
+
+
 
 
 def main():

+ 1 - 0
utils.py

@@ -262,3 +262,4 @@ def send_file_to_ecs(client, instance_id_list, target_dir, name, content):
     request.set_Overwrite(True)
     request.set_InstanceIds(instance_id_list)
     response = send_request(client=client, request=request)
+    return response