feat: add scheduled cleanup tasks for temporary files and old scores in works and beatleader/scoresaber services

This commit is contained in:
lixiangwuxian
2025-01-15 10:36:15 +08:00
parent a607e45fe3
commit db8ced6807
3 changed files with 54 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ import (
"time"
"git.lxtend.com/qqbot/sqlite3"
"git.lxtend.com/qqbot/util"
"github.com/gorilla/websocket"
)
@@ -22,6 +23,7 @@ func init() {
log.Print("连接 WebSocket 失败:", err)
time.Sleep(time.Second)
}
util.AddCycleTask("cleanOldScores", 1*time.Hour, 1*time.Hour, cleanOldScores)
}
func (bm *blScoresManager) connect() error {
@@ -76,3 +78,10 @@ func (sm *blScoresManager) GetRecentScores(count int, predict string) []RecordDa
return scoresCopy
}
func cleanOldScores() {
db := sqlite3.GetDB()
ssBind := make([]string, 0)
db.Select(&ssBind, "SELECT ssid FROM ssBind")
db.Exec("DELETE FROM blRecordData WHERE generated_time < ? AND ssid NOT IN (?)", time.Now().AddDate(0, 0, -1).Unix(), ssBind)
}