perf: optimize createTask by moving GetCurrentFolder outside loop

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-07 16:16:49 +08:00
parent 576b543c9b
commit 1b23d813a8
+10 -5
View File
@@ -28,6 +28,14 @@ func createTask(w http.ResponseWriter, r *http.Request) {
}
db := util.MustGetDB()
defer db.Close()
// 预先获取下载目录,避免循环中重复查询
folder, err := util.GetCurrentFolder(db)
if err != nil {
util.Res{Success: false, Message: fmt.Sprintf("获取下载目录失败: %v", err)}.Write(w)
return
}
for _, item := range body {
if !util.CheckBvidFormat(item.Bvid) {
util.Res{Success: false, Message: "bvid 格式错误"}.Write(w)
@@ -35,6 +43,7 @@ func createTask(w http.ResponseWriter, r *http.Request) {
}
if item.Cover == "" || item.Title == "" || item.Owner == "" {
util.Res{Success: false, Message: "参数错误"}.Write(w)
return
}
if !util.IsValidURL(item.Cover) {
@@ -53,12 +62,8 @@ func createTask(w http.ResponseWriter, r *http.Request) {
util.Res{Success: false, Message: "清晰度代码错误"}.Write(w)
return
}
item.Folder, err = util.GetCurrentFolder(db)
item.Folder = folder
item.Status = "waiting"
if err != nil {
util.Res{Success: false, Message: fmt.Sprintf("util.GetCurrentFolder: %v.", err)}.Write(w)
return
}
_task := task.Task{TaskInDB: item}
_task.Title = util.FilterFileName(_task.Title)
err = _task.Create(db)