fix(monitor): refresh maintenance cache after loading sites
Move refreshMaintenanceCache() to after sites are loaded into liveState. Previously it ran before the site loading loop, so on the first iteration liveState was empty and the cache resolved to nothing. This caused groups to briefly show DOWN on startup for children that were in maintenance, until the next poll cycle repopulated the cache.
This commit was merged in pull request #158.
This commit is contained in:
@@ -283,8 +283,6 @@ func (e *Engine) Start(ctx context.Context) {
|
||||
default:
|
||||
}
|
||||
|
||||
e.refreshMaintenanceCache(ctx)
|
||||
|
||||
configs, err := e.db.GetSites(ctx)
|
||||
if err != nil {
|
||||
e.AddLog(fmt.Sprintf("Failed to load sites: %v", err))
|
||||
@@ -327,6 +325,10 @@ func (e *Engine) Start(ctx context.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// Refresh after sites load so the cache covers newly added sites.
|
||||
// On first iteration liveState was empty before the loop above.
|
||||
e.refreshMaintenanceCache(ctx)
|
||||
|
||||
e.mu.RLock()
|
||||
var vanished []int
|
||||
for id := range e.liveState {
|
||||
|
||||
Reference in New Issue
Block a user