mirror of
https://github.com/safing/portbase
synced 2025-09-01 18:19:57 +00:00
32 lines
661 B
Go
32 lines
661 B
Go
package dbmodule
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/Safing/portbase/database"
|
|
"github.com/Safing/portbase/log"
|
|
)
|
|
|
|
func maintainer() {
|
|
ticker := time.NewTicker(1 * time.Hour)
|
|
tickerThorough := time.NewTicker(10 * time.Minute)
|
|
maintenanceWg.Add(1)
|
|
|
|
for {
|
|
select {
|
|
case <- ticker.C:
|
|
err := database.Maintain()
|
|
if err != nil {
|
|
log.Errorf("database: maintenance error: %s", err)
|
|
}
|
|
case <- ticker.C:
|
|
err := database.MaintainThorough()
|
|
if err != nil {
|
|
log.Errorf("database: maintenance (thorough) error: %s", err)
|
|
}
|
|
case <-shutdownSignal:
|
|
maintenanceWg.Done()
|
|
return
|
|
}
|
|
}
|
|
}
|