diff --git a/cmd/main.go b/cmd/main.go index 9e0aab76..e92f804b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -175,7 +175,7 @@ func InitApp() error { if _, err := services.SelectAllServices(true); err != nil { return err } - go services.CheckServices() + services.CheckServices() notifiers.InitNotifiers() go database.Maintenance() utils.SentryInit(&VERSION, core.App.AllowReports.Bool) diff --git a/database/routines.go b/database/routines.go index 0445c15c..92583e64 100644 --- a/database/routines.go +++ b/database/routines.go @@ -23,17 +23,21 @@ func Maintenance() { log.Infof("Database Cleanup runs every %s and will remove records older than %s", interval.String(), dur.String()) ticker := interval - for range time.Tick(ticker) { - deleteAfter := utils.Now().Add(-dur) + for { + select { + case <-time.After(ticker): + deleteAfter := utils.Now().Add(-dur) - log.Infof("Deleting failures older than %s", deleteAfter.String()) - deleteAllSince("failures", deleteAfter) + log.Infof("Deleting failures older than %s", deleteAfter.String()) + deleteAllSince("failures", deleteAfter) - log.Infof("Deleting hits older than %s", deleteAfter.String()) - deleteAllSince("hits", deleteAfter) + log.Infof("Deleting hits older than %s", deleteAfter.String()) + deleteAllSince("hits", deleteAfter) - ticker = interval + ticker = interval + } } + } // deleteAllSince will delete a specific table's records based on a time. diff --git a/handlers/setup.go b/handlers/setup.go index 81c2f531..52b23bb0 100644 --- a/handlers/setup.go +++ b/handlers/setup.go @@ -117,7 +117,7 @@ func processSetupHandler(w http.ResponseWriter, r *http.Request) { return } - go services.CheckServices() + services.CheckServices() core.App.Setup = true diff --git a/types/services/routine.go b/types/services/routine.go index 9924f58e..99c9f0bf 100644 --- a/types/services/routine.go +++ b/types/services/routine.go @@ -21,7 +21,7 @@ import ( func CheckServices() { log.Infoln(fmt.Sprintf("Starting monitoring process for %v Services", len(allServices))) for _, s := range allServices { - time.Sleep(250 * time.Millisecond) + time.Sleep(50 * time.Millisecond) go ServiceCheckQueue(s, true) } }