add parallel

Signed-off-by: Victor Vieux <vieux@docker.com>
This commit is contained in:
Victor Vieux 2015-03-05 12:42:09 -08:00
parent 7ad8a3705f
commit e0fa132ec9
1 changed files with 12 additions and 4 deletions

View File

@ -187,10 +187,18 @@ func (c *Cluster) Image(IdOrName string) *cluster.Image {
}
func (c *Cluster) Pull(name string, begin, end func(string)) {
for _, node := range c.nodes {
begin(node.Name())
node.Pull(name)
end(node.Name())
size := len(c.nodes)
done := make(chan bool, size)
for _, n := range c.nodes {
go func(nn *node) {
begin(nn.Name())
nn.Pull(name)
end(nn.Name())
done <- true
}(n)
}
for i := 0; i < size; i++ {
<-done
}
}