diff --git a/backend/main.go b/backend/main.go index a7d23c35..cfd51010 100644 --- a/backend/main.go +++ b/backend/main.go @@ -94,8 +94,7 @@ func main() { // 爬虫 app.GET("/spiders", routes.GetSpiderList) // 爬虫列表 app.GET("/spiders/:id", routes.GetSpider) // 爬虫详情 - app.PUT("/spiders", routes.PutSpider) // 上传爬虫 - app.POST("/spiders", routes.PublishAllSpiders) // 发布所有爬虫 + app.POST("/spiders", routes.PutSpider) // 上传爬虫 app.POST("/spiders/:id", routes.PostSpider) // 修改爬虫 app.POST("/spiders/:id/publish", routes.PublishSpider) // 发布爬虫 app.DELETE("/spiders/:id", routes.DeleteSpider) // 删除爬虫 diff --git a/backend/services/task.go b/backend/services/task.go index 4b75a0da..8c0ff8a1 100644 --- a/backend/services/task.go +++ b/backend/services/task.go @@ -130,7 +130,7 @@ func ExecuteShellCmd(cmdStr string, cwd string, t model.Task, s model.Spider) (e // 添加任务环境变量 for _, env := range s.Envs { - cmd.Env = append(cmd.Env, env.Name + "=" + env.Value) + cmd.Env = append(cmd.Env, env.Name+"="+env.Value) } // 起一个goroutine来监控进程 @@ -344,14 +344,16 @@ func ExecuteTask(id int) { } // 起一个cron执行器来统计任务结果数 - cronExec := cron.New(cron.WithSeconds()) - _, err = cronExec.AddFunc("*/5 * * * * *", SaveTaskResultCount(t.Id)) - if err != nil { - log.Errorf(GetWorkerPrefix(id) + err.Error()) - return + if spider.Col != "" { + cronExec := cron.New(cron.WithSeconds()) + _, err = cronExec.AddFunc("*/5 * * * * *", SaveTaskResultCount(t.Id)) + if err != nil { + log.Errorf(GetWorkerPrefix(id) + err.Error()) + return + } + cronExec.Start() + defer cronExec.Stop() } - cronExec.Start() - defer cronExec.Stop() // 执行Shell命令 if err := ExecuteShellCmd(cmd, cwd, t, spider); err != nil { @@ -360,9 +362,11 @@ func ExecuteTask(id int) { } // 更新任务结果数 - if err := model.UpdateTaskResultCount(t.Id); err != nil { - log.Errorf(GetWorkerPrefix(id) + err.Error()) - return + if spider.Col != "" { + if err := model.UpdateTaskResultCount(t.Id); err != nil { + log.Errorf(GetWorkerPrefix(id) + err.Error()) + return + } } // 完成进程