From 000b4ff7304149b5d26d83791cfb5aefb77447cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E9=98=B3?= <1656488874@qq.com> Date: Tue, 10 Sep 2019 09:51:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/routes/task.go | 7 +++++++ backend/services/log.go | 28 ++++++++++++++++++++++------ 2 files changed, 29 insertions(+), 6 deletions(-) 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 }