refactor: cleanup now uses db
This commit is contained in:
17
cleanup.go
17
cleanup.go
@@ -1,22 +1,13 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log/slog"
|
"database/sql"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func cleanupLoop(tw *tempWhitelist, d time.Duration) {
|
func cleanupLoop(db *sql.DB, interval time.Duration) {
|
||||||
ticker := time.NewTicker(d)
|
ticker := time.NewTicker(interval)
|
||||||
defer ticker.Stop()
|
|
||||||
for range ticker.C {
|
for range ticker.C {
|
||||||
now := time.Now()
|
_ = CleanupExpiredTemp(db)
|
||||||
tw.mu.Lock()
|
|
||||||
for ip, entry := range tw.entries {
|
|
||||||
if entry.Expires.Before(now) {
|
|
||||||
slog.Info("expired temporary whitelist", "ip", ip)
|
|
||||||
delete(tw.entries, ip)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tw.mu.Unlock()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user