| | |
| | | var waitGroup sync.WaitGroup |
| | | fmt.Println("当前并行度coreThread:", coreThread) |
| | | for i, ip := range peersIp { |
| | | fmt.Println("重启第一组服务" + ip) |
| | | fmt.Println("重启当前组服务" + ip) |
| | | if (i+1)%coreThread == 0 { |
| | | masterIp = append(masterIp, strings.Split(ip, ":")[0]) |
| | | fmt.Println("加入第一组并开始验证第一组 masterIp: ", masterIp) |
| | |
| | | waitGroup.Add(1) //每创建一个goroutine,就把任务队列中任务的数量+1 |
| | | } |
| | | waitGroup.Wait() //.Wait()这里会发生阻塞,直到队列中所有的任务结束就会解除阻塞 |
| | | fmt.Println("当前组任务完成") |
| | | masterIp = make([]string, 0) |
| | | fmt.Println("清空当前组成员:", masterIp) |
| | | } else { |
| | | masterIp = append(masterIp, strings.Split(ip, ":")[0]) |
| | | if len(peersIp) == i+1 { |
| | |
| | | break |
| | | } |
| | | } |
| | | |
| | | } |
| | | fmt.Println("服务流程执行完毕") |
| | | |