func (rm *ReplicationManager) synchronize() { var controllerSpecs []api.ReplicationController helper := tools.EtcdHelper{rm.etcdClient} err := helper.ExtractList("/registry/controllers", &controllerSpecs) if err != nil { glog.Errorf("Synchronization error: %v (%#v)", err, err) return } for _, controllerSpec := range controllerSpecs { err = rm.syncHandler(controllerSpec) if err != nil { glog.Errorf("Error synchronizing: %#v", err) } } }
func (rm *ReplicationManager) synchronize() { var controllerSpecs []api.ReplicationController helper := tools.EtcdHelper{rm.etcdClient} err := helper.ExtractList("/registry/controllers", &controllerSpecs) if err != nil { glog.Errorf("Synchronization error: %v (%#v)", err, err) return } wg := sync.WaitGroup{} wg.Add(len(controllerSpecs)) for ix := range controllerSpecs { go func(ix int) { defer wg.Done() err := rm.syncHandler(controllerSpecs[ix]) if err != nil { glog.Errorf("Error synchronizing: %#v", err) } }(ix) } wg.Wait() }