func()

in lib/update_servers.go [21:58]


func (s *Server) updateServersContinuous() {
	for {
		config := s.GetConfig()
		stable, err := config.HostSourcer.GetStableServers()
		if err != nil {
			glog.Error(err)
		} else {
			glog.Infof("Adding %d servers to the stable servers list", len(stable))
			if len(stable) > 0 {
				s.handleUpdatedList(s.stableServers, stable)
				err = config.Algorithm.UpdateStableServerList(stable)
				if err != nil {
					glog.Errorf("Error updating stable server list: %s", err)
				} else {
					s.stableServers = stable
				}
			}
		}

		rc, err := config.HostSourcer.GetRCServers()
		if err != nil {
			glog.Error(err)
		} else {
			glog.Infof("Adding %d servers to the list of RC servers", len(rc))
			if len(rc) > 0 {
				s.handleUpdatedList(s.rcServers, rc)
				err = config.Algorithm.UpdateRCServerList(rc)
				if err != nil {
					glog.Errorf("Error updating RC server list: %s", err)
				} else {
					s.rcServers = rc
				}
			}
		}

		<-time.NewTimer(config.ServerUpdateInterval).C
	}
}