fix 执行爬虫错误的问题

This commit is contained in:
陈景阳
2019-11-26 15:26:01 +08:00
parent e228a05ed7
commit fa4d8ddc50
3 changed files with 15 additions and 7 deletions

View File

@@ -61,6 +61,7 @@ func (t *Task) Save() error {
defer s.Close()
t.UpdateTs = time.Now()
if err := c.UpdateId(t.Id, t); err != nil {
log.Errorf("update task error: %s", err.Error())
debug.PrintStack()
return err
}

View File

@@ -116,10 +116,9 @@ func PublishAllSpiders() {
// 发布爬虫
func PublishSpider(spider model.Spider) {
// 查询gf file不存在则删除
// 可能爬虫文件不存在,则直接返回
gfFile := model.GetGridFs(spider.FileId)
if gfFile == nil {
_ = model.RemoveSpider(spider.Id)
return
}
spiderSync := spider_handler.SpiderSync{

View File

@@ -391,15 +391,23 @@ func ExecuteTask(id int) {
t.Status = constants.StatusRunning // 任务状态
t.WaitDuration = t.StartTs.Sub(t.CreateTs).Seconds() // 等待时长
// 判断爬虫文件是否存在
gfFile := model.GetGridFs(spider.FileId)
if gfFile == nil {
t.Error = "找不到爬虫文件,请重新上传"
t.Status = constants.StatusError
t.FinishTs = time.Now() // 结束时间
t.RuntimeDuration = t.FinishTs.Sub(t.StartTs).Seconds() // 运行时长
t.TotalDuration = t.FinishTs.Sub(t.CreateTs).Seconds() // 总时长
_ = t.Save()
return
}
// 开始执行任务
log.Infof(GetWorkerPrefix(id) + "开始执行任务(ID:" + t.Id + ")")
// 储存任务
if err := t.Save(); err != nil {
log.Errorf(err.Error())
HandleTaskError(t, err)
return
}
_ = t.Save()
// 起一个cron执行器来统计任务结果数
if spider.Col != "" {