From 1339877b7422a8c4bc2ac44ba4dd421e989d3d2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E9=98=B3?= <1656488874@qq.com> Date: Mon, 4 Nov 2019 19:58:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/services/task.go | 13 +++++++++++-- backend/utils/helpers.go | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/backend/services/task.go b/backend/services/task.go index 9e584e82..67c3396b 100644 --- a/backend/services/task.go +++ b/backend/services/task.go @@ -136,8 +136,15 @@ func FinishOrCancelTask(ch chan string, cmd *exec.Cmd, t model.Task) { log.Infof("process received signal: %s", signal) if signal == constants.TaskCancel && cmd.Process != nil { + var err error + // 兼容windows + if runtime.GOOS == constants.Windows { + err = cmd.Process.Kill() + } else { + err = syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL) + } // 取消进程 - if err := syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL); err != nil { + if err != nil { log.Errorf("process kill error: %s", err.Error()) debug.PrintStack() @@ -225,7 +232,9 @@ func ExecuteShellCmd(cmdStr string, cwd string, t model.Task, s model.Spider) (e go FinishOrCancelTask(ch, cmd, t) // kill的时候,可以kill所有的子进程 - cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} + if runtime.GOOS != constants.Windows { + cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} + } // 启动进程 if err := StartTaskProcess(cmd, t); err != nil { diff --git a/backend/utils/helpers.go b/backend/utils/helpers.go index 541d9002..8a80e9e8 100644 --- a/backend/utils/helpers.go +++ b/backend/utils/helpers.go @@ -37,6 +37,6 @@ func GetMessage(message redis.Message) *entity.NodeMessage { func Close(c io.Closer) { err := c.Close() if err != nil { - log.WithError(err).Error("关闭资源文件失败。") + //log.WithError(err).Error("关闭资源文件失败。") } } From 88a22097da2caffe5a0e4adc97f710d6c14690a8 Mon Sep 17 00:00:00 2001 From: hantmac Date: Wed, 4 Dec 2019 16:46:16 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9isDeletePeriodically?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=BB=98=E8=AE=A4=E4=B8=BAN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/conf/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/conf/config.yml b/backend/conf/config.yml index a5e0b23b..60d2bd41 100644 --- a/backend/conf/config.yml +++ b/backend/conf/config.yml @@ -15,7 +15,7 @@ redis: log: level: info path: "/var/logs/crawlab" - isDeletePeriodically: "Y" + isDeletePeriodically: "N" deleteFrequency: "@hourly" server: host: 0.0.0.0 From 5bb8be1ddd1acd7fd4b34670fd613c161dc0e8cc Mon Sep 17 00:00:00 2001 From: hantmac Date: Wed, 4 Dec 2019 16:48:36 +0800 Subject: [PATCH 3/3] fix --- backend/main.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/main.go b/backend/main.go index b49efae7..92863a20 100644 --- a/backend/main.go +++ b/backend/main.go @@ -47,6 +47,8 @@ func main() { panic(err) } log.Info("初始化定期清理日志配置成功") + }else { + log.Info("默认未开启定期清理日志配置") } // 初始化Mongodb数据库