Переглянути джерело

update longvideo_update remove_container_image

liqian 2 роки тому
батько
коміт
18fcbd9f42
1 змінених файлів з 10 додано та 6 видалено
  1. 10 6
      longvideo_update.py

+ 10 - 6
longvideo_update.py

@@ -102,7 +102,7 @@ async def ess_instance(create_client, slb_client, ess_count, max_workers, versio
         sys.exit()
 
 
-def remove_container_image(client, instance_id, container_name):
+def remove_container_image(client, instance_id, container_name_list):
     """
     移除旧容器并删除旧镜像
     :param client: 客户端连接
@@ -121,9 +121,13 @@ def remove_container_image(client, instance_id, container_name):
             logging.error(f"容器不存在或者无法删除当前容器, instance = {instance_id}/{ip_address}")
             sys.exit()
         try:
-            container_id = client.containers.get(container_name)
-            container_id.remove(force=True)
-            break
+            for container_name in container_name_list:
+                try:
+                    container_id = client.containers.get(container_name)
+                    container_id.remove(force=True)
+                    break
+                except:
+                    continue
         except Exception as e:
             i += 1
 
@@ -171,12 +175,12 @@ async def update_instance(create_client, slb_client, instance_ids, max_workers,
         global remove_container_instances
         remove_container_instances = []
         # container_name = 'longvideoapi'
-        container_name = 'vlogapi'
+        container_name_list = ['vlogapi', 'longvideoapi']
         loop = asyncio.get_running_loop()
         executor = ThreadPoolExecutor(max_workers=max_workers)
         tasks = [
             loop.run_in_executor(executor, remove_container_image, *args) for args in
-            [(slb_client, instance_id, container_name) for instance_id in instance_id_list]
+            [(slb_client, instance_id, container_name_list) for instance_id in instance_id_list]
         ]
         await asyncio.wait(tasks)
         logging.info(f"remove container & images finished, instances: {remove_container_instances},"