go uptime monitor
at main 783 B view raw
1package storage 2 3import ( 4 "database/sql" 5 "fmt" 6 "time" 7) 8 9func InitDB(db *sql.DB) error { 10 _, err := db.Exec(` 11 CREATE TABLE IF NOT EXISTS check_results ( 12 id INTEGER PRIMARY KEY, 13 name TEXT, 14 status TEXT, 15 message TEXT, 16 timestamp DATETIME, 17 duration_ms INTEGER 18 ); 19 `) 20 return err 21} 22 23func CleanupOld(db *sql.DB, hours int) error { 24 _, err := db.Exec(`DELETE FROM check_results WHERE timestamp < datetime('now', ?)`, fmt.Sprintf("-%dh", hours)) 25 return err 26} 27 28func StoreResult(db *sql.DB, name, status, message string, duration time.Duration) error { 29 _, err := db.Exec(` 30 INSERT INTO check_results (name, status, message, timestamp, duration_ms) 31 VALUES (?, ?, ?, ?, ?) 32 `, name, status, message, time.Now(), duration.Milliseconds()) 33 return err 34}