Refactor scheduled tasks to run concurrently and improve cleanup logic

This commit is contained in:
wood chen 2024-10-20 22:03:35 +08:00
parent dd6aaad112
commit e3cfd8e4bc
2 changed files with 18 additions and 13 deletions

View File

@ -19,11 +19,11 @@ func main() {
go binance.RunBinance()
// 启动定期任务
go service.StartScheduledTasks()
err = service.RunMessageHandler()
if err != nil {
log.Fatalf("Error in RunMessageHandler: %v", err)
}
// 启动定期任务
service.StartScheduledTasks()
}

View File

@ -18,15 +18,20 @@ func periodicCleanup() {
ticker := time.NewTicker(24 * time.Hour) // 每天执行一次清理
defer ticker.Stop()
for {
select {
case <-ticker.C:
err := core.DB.CleanupExpiredLinks()
if err != nil {
log.Printf("清理过期链接时发生错误: %v", err)
} else {
log.Println("已成功清理过期链接")
}
}
// 立即执行一次清理
cleanupExpiredLinks()
// 使用 for range 替代 for { select {} }
for range ticker.C {
cleanupExpiredLinks()
}
}
func cleanupExpiredLinks() {
err := core.DB.CleanupExpiredLinks()
if err != nil {
log.Printf("清理过期链接时发生错误: %v", err)
} else {
log.Println("已成功清理过期链接")
}
}