Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
marvzhang
2019-12-05 11:52:08 +08:00
4 changed files with 15 additions and 4 deletions

View File

@@ -15,7 +15,7 @@ redis:
log:
level: info
path: "/var/logs/crawlab"
isDeletePeriodically: "Y"
isDeletePeriodically: "N"
deleteFrequency: "@hourly"
server:
host: 0.0.0.0

View File

@@ -47,6 +47,8 @@ func main() {
panic(err)
}
log.Info("初始化定期清理日志配置成功")
}else {
log.Info("默认未开启定期清理日志配置")
}
// 初始化Mongodb数据库

View File

@@ -138,8 +138,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()
@@ -242,7 +249,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 {

View File

@@ -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("关闭资源文件失败。")
}
}