modified Maintance routine to use time.After channel, not tick.

pull/655/head
hunterlong 2020-06-10 23:21:53 -07:00
parent 1b68476b81
commit bc45135301
4 changed files with 14 additions and 10 deletions

View File

@ -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)

View File

@ -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.

View File

@ -117,7 +117,7 @@ func processSetupHandler(w http.ResponseWriter, r *http.Request) {
return
}
go services.CheckServices()
services.CheckServices()
core.App.Setup = true

View File

@ -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)
}
}