feat: add scheduled cleanup tasks for temporary files and old scores in works and beatleader/scoresaber services
This commit is contained in:
@@ -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 (sm *scoresManager) connect() error {
|
||||
@@ -76,3 +78,14 @@ func (sm *scoresManager) GetRecentScores(count int, predict string) []RecordData
|
||||
|
||||
return scoresCopy
|
||||
}
|
||||
|
||||
func cleanOldScores() {
|
||||
//清除>1天前且未绑定ss的记录
|
||||
//1.获取所有绑定ss
|
||||
//2.获取所有>1天前的记录
|
||||
//3.删除未绑定ss的记录
|
||||
db := sqlite3.GetDB()
|
||||
ssBind := make([]string, 0)
|
||||
db.Select(&ssBind, "SELECT ssid FROM ssBind")
|
||||
db.Exec("DELETE FROM ssRecordData WHERE generated_time < ? AND ssid NOT IN (?)", time.Now().AddDate(0, 0, -1).Unix(), ssBind)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user