outposts/ak: updater providers automatically every 150 seconds

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2021-05-11 01:07:26 +02:00
parent 788fd00390
commit 0f1cc86e71
3 changed files with 15 additions and 1 deletions

View file

@ -90,6 +90,10 @@ func (a *APIController) Start() error {
a.logger.Debug("Starting WS Health notifier...") a.logger.Debug("Starting WS Health notifier...")
a.startWSHealth() a.startWSHealth()
}() }()
go func() {
a.logger.Debug("Starting Interval updater...")
a.startIntervalUpdater()
}()
go func() { go func() {
err := a.Server.Start() err := a.Server.Start()
if err != nil { if err != nil {

View file

@ -111,3 +111,14 @@ func (ac *APIController) startWSHealth() {
} }
} }
} }
func (ac *APIController) startIntervalUpdater() {
logger := ac.logger.WithField("loop", "interval-updater")
ticker := time.NewTicker(time.Second * 150)
for ; true; <-ticker.C {
err := ac.Server.Refresh()
if err != nil {
logger.WithError(err).Debug("Failed to update")
}
}
}

View file

@ -16,7 +16,6 @@ func (s *Server) Refresh() error {
s.logger.Debug("Providers have not changed, not updating") s.logger.Debug("Providers have not changed, not updating")
return nil return nil
} }
s.logger.Tracef("%+v\n", providers)
bundles := s.bundleProviders(providers) bundles := s.bundleProviders(providers)
s.updateHTTPServer(bundles) s.updateHTTPServer(bundles)
return nil return nil