浏览代码

Pull services in parallel

Updates #1652

Signed-off-by: Evan Shaw <[email protected]>
Evan Shaw 8 年之前
父节点
当前提交
21529169ad
共有 1 个文件被更改,包括 8 次插入1 次删除
  1. 8 1
      compose/project.py

+ 8 - 1
compose/project.py

@@ -455,9 +455,16 @@ class Project(object):
         return plans
 
     def pull(self, service_names=None, ignore_pull_failures=False):
-        for service in self.get_services(service_names, include_deps=False):
+        def pull_service(service):
             service.pull(ignore_pull_failures)
 
+        services = self.get_services(service_names, include_deps=False)
+        parallel.parallel_execute(
+            services,
+            pull_service,
+            operator.attrgetter('name'),
+            'Pulling')
+
     def push(self, service_names=None, ignore_push_failures=False):
         for service in self.get_services(service_names, include_deps=False):
             service.push(ignore_push_failures)