Browse code

Add parallel operation support for pause/unpause

Support parallel pause/unpause

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>

Zhang Wei authored on 2016/09/12 18:21:08
Showing 2 changed files
... ...
@@ -34,8 +34,9 @@ func runPause(dockerCli *command.DockerCli, opts *pauseOptions) error {
34 34
 	ctx := context.Background()
35 35
 
36 36
 	var errs []string
37
+	errChan := parallelOperation(ctx, opts.containers, dockerCli.Client().ContainerPause)
37 38
 	for _, container := range opts.containers {
38
-		if err := dockerCli.Client().ContainerPause(ctx, container); err != nil {
39
+		if err := <-errChan; err != nil {
39 40
 			errs = append(errs, err.Error())
40 41
 		} else {
41 42
 			fmt.Fprintf(dockerCli.Out(), "%s\n", container)
... ...
@@ -35,8 +35,9 @@ func runUnpause(dockerCli *command.DockerCli, opts *unpauseOptions) error {
35 35
 	ctx := context.Background()
36 36
 
37 37
 	var errs []string
38
+	errChan := parallelOperation(ctx, opts.containers, dockerCli.Client().ContainerUnpause)
38 39
 	for _, container := range opts.containers {
39
-		if err := dockerCli.Client().ContainerUnpause(ctx, container); err != nil {
40
+		if err := <-errChan; err != nil {
40 41
 			errs = append(errs, err.Error())
41 42
 		} else {
42 43
 			fmt.Fprintf(dockerCli.Out(), "%s\n", container)