diff --git a/backend/routes/task.go b/backend/routes/task.go index 4dc42f6f..c84ea210 100644 --- a/backend/routes/task.go +++ b/backend/routes/task.go @@ -124,6 +124,13 @@ func PutTask(c *gin.Context) { func DeleteTask(c *gin.Context) { id := c.Param("id") + // 删除日志文件 + if err := services.RemoveLogByTaskId(id); err != nil { + HandleError(http.StatusInternalServerError, c, err) + return + } + + // 删除task if err := model.RemoveTask(id); err != nil { HandleError(http.StatusInternalServerError, c, err) return diff --git a/backend/services/log.go b/backend/services/log.go index a18672c9..95459f8f 100644 --- a/backend/services/log.go +++ b/backend/services/log.go @@ -105,6 +105,27 @@ func RemoveRemoteLog(task model.Task) error { return nil } +// 删除日志文件 +func RemoveLogByTaskId(id string) error { + t, err := model.GetTask(id) + if err != nil { + log.Error("get task error:" + err.Error()) + return err + } + removeLog(t) + + return nil +} + +func removeLog(t model.Task) { + if err := RemoveLocalLog(t.LogPath); err != nil { + log.Error("remove local log error:" + err.Error()) + } + if err := RemoveRemoteLog(t); err != nil { + log.Error("remove remote log error:" + err.Error()) + } +} + // 删除日志文件 func RemoveLogBySpiderId(id bson.ObjectId) error { tasks, err := model.GetTaskList(bson.M{"spider_id": id}, 0, constants.Infinite, "-create_ts") @@ -112,12 +133,7 @@ func RemoveLogBySpiderId(id bson.ObjectId) error { log.Error("get tasks error:" + err.Error()) } for _, task := range tasks { - if err := RemoveLocalLog(task.LogPath); err != nil { - log.Error("remove local log error:" + err.Error()) - } - if err := RemoveRemoteLog(task); err != nil { - log.Error("remove remote log error:" + err.Error()) - } + removeLog(task) } return nil }