diff --git a/backend/model/schedule.go b/backend/model/schedule.go index 36799ac3..ef758fb6 100644 --- a/backend/model/schedule.go +++ b/backend/model/schedule.go @@ -5,6 +5,7 @@ import ( "crawlab/database" "crawlab/lib/cron" "github.com/apex/log" + "github.com/globalsign/mgo" "github.com/globalsign/mgo/bson" "runtime/debug" "time" @@ -93,7 +94,7 @@ func GetScheduleList(filter interface{}) ([]Schedule, error) { // 获取爬虫名称 spider, err := GetSpider(schedule.SpiderId) - if err != nil { + if err != nil && err == mgo.ErrNotFound { log.Errorf("get spider by id: %s, error: %s", schedule.SpiderId.Hex(), err.Error()) debug.PrintStack() _ = schedule.Delete() diff --git a/backend/model/task.go b/backend/model/task.go index df046ecc..64f06cd7 100644 --- a/backend/model/task.go +++ b/backend/model/task.go @@ -117,7 +117,7 @@ func GetTaskList(filter interface{}, skip int, limit int, sortKey string) ([]Tas for i, task := range tasks { // 获取爬虫名称 spider, err := task.GetSpider() - if spider.Id.Hex() == "" || err != nil { + if err != nil || spider.Id.Hex() == "" { _ = spider.Delete() } else { tasks[i].SpiderName = spider.DisplayName