package scheduler import ( "database/sql" _ "github.com/mattn/go-sqlite3" "log" "time" "tangled.sh/seiso.moe/hestia/check" "tangled.sh/seiso.moe/hestia/config" "tangled.sh/seiso.moe/hestia/storage" ) func StartScheduler(cfg *config.Config, db *sql.DB) { for _, ck := range cfg.Checks { go func(c check.Check) { ticker := time.NewTicker(time.Duration(c.Interval) * time.Second) for range ticker.C { log.Printf("running check: %s\n", c.Name) var status, message string var dur time.Duration status, message, dur = check.CheckHTTP(c) log.Printf("%s, %s, %s\n", status, message, dur) storage.StoreResult(db, c.Name, status, message, dur) } }(ck) } }