This commit is contained in:
2026-02-13 20:49:17 +01:00
parent 2ee027fa7e
commit bcc7877c41
4 changed files with 159 additions and 23 deletions
+23 -2
View File
@@ -101,7 +101,8 @@ func main() {
}()
// --- Start background tasks ---
// Periodic stack status refresh
// Periodic container status refresh (lightweight — just runs docker ps)
go func() {
ticker := time.NewTicker(30 * time.Second)
defer ticker.Stop()
@@ -117,6 +118,26 @@ func main() {
}
}()
// Periodic stack scan (discovers new/removed stacks from disk)
// Runs less frequently since it reads the filesystem.
// This allows adding new stacks without restarting the controller.
go func() {
ticker := time.NewTicker(2 * time.Minute)
defer ticker.Stop()
for {
select {
case <-ctx.Done():
return
case <-ticker.C:
if err := stackMgr.ScanStacks(); err != nil {
logger.Printf("[WARN] Periodic stack scan failed: %v", err)
} else {
logger.Printf("[DEBUG] Periodic stack scan completed")
}
}
}
}()
logger.Printf("[INFO] Web UI listening on %s", cfg.Web.Listen)
if err := server.ListenAndServe(); err != http.ErrServerClosed {
logger.Fatalf("[FATAL] HTTP server error: %v", err)
@@ -134,4 +155,4 @@ func setupLogger(cfg *config.Config) *log.Logger {
}
return logger
}
}