解决上传爬虫报错问题

This commit is contained in:
marvzhang
2019-12-27 17:24:23 +08:00
parent a176733b64
commit cb33e8860f
3 changed files with 15 additions and 6 deletions

View File

@@ -157,15 +157,15 @@ func GetSpiderByFileId(fileId bson.ObjectId) *Spider {
}
// 获取爬虫(根据名称)
func GetSpiderByName(name string) *Spider {
func GetSpiderByName(name string) Spider {
s, c := database.GetCol("spiders")
defer s.Close()
var result *Spider
var result Spider
if err := c.Find(bson.M{"name": name}).One(&result); err != nil {
log.Errorf("get spider error: %s, spider_name: %s", err.Error(), name)
//debug.PrintStack()
return nil
return result
}
return result
}

View File

@@ -40,7 +40,7 @@ func PutConfigSpider(c *gin.Context) {
}
// 判断爬虫是否存在
if spider := model.GetSpiderByName(spider.Name); spider != nil {
if spider := model.GetSpiderByName(spider.Name); spider.Name != "" {
HandleErrorF(http.StatusBadRequest, c, fmt.Sprintf("spider for '%s' already exists", spider.Name))
return
}

View File

@@ -132,7 +132,7 @@ func PutSpider(c *gin.Context) {
}
// 判断爬虫是否存在
if spider := model.GetSpiderByName(spider.Name); spider != nil {
if spider := model.GetSpiderByName(spider.Name); spider.Name != "" {
HandleErrorF(http.StatusBadRequest, c, fmt.Sprintf("spider for '%s' already exists", spider.Name))
return
}
@@ -238,7 +238,7 @@ func UploadSpider(c *gin.Context) {
// 判断爬虫是否存在
spiderName := strings.Replace(targetFilename, ".zip", "", 1)
spider := model.GetSpiderByName(spiderName)
if spider == nil {
if spider.Name == "" {
// 保存爬虫信息
srcPath := viper.GetString("spider.path")
spider := model.Spider{
@@ -255,6 +255,12 @@ func UploadSpider(c *gin.Context) {
_ = spider.Save()
}
// 发起同步
services.PublishAllSpiders()
// 获取爬虫
spider = model.GetSpiderByName(spiderName)
c.JSON(http.StatusOK, Response{
Status: "ok",
Message: "success",
@@ -336,6 +342,9 @@ func UploadSpiderFromId(c *gin.Context) {
spider.FileId = fid
_ = spider.Save()
// 发起同步
services.PublishSpider(spider)
c.JSON(http.StatusOK, Response{
Status: "ok",
Message: "success",