Open
Description
并行执行部署时,协程未传参进去,导致所有协程执行的都是同一台机器。代码如下
func (d *Deploy) Parallel() {
if d.status == STATUS_FAILED {
return
}
d.status = STATUS_ING
status := STATUS_DONE
for _, srv := range d.srvs {
d.wg.Add(1)
go func() {
if d.status == STATUS_ING {
srv.Deploy()
if srv.Result().Status == STATUS_FAILED {
status = STATUS_FAILED
}
}
defer d.wg.Done()
}()
}
d.wg.Wait()
d.status = status
}
Metadata
Assignees
Labels
No labels
Activity