Browse Source

重点爬虫任务列表更新

mxs 1 year ago
parent
commit
c33153b4a0

+ 3 - 3
src/front/spider.go

@@ -1500,8 +1500,8 @@ func (f *Front) Assort() {
 				},
 			}
 			u.MgoEB.Update("task", query, update, false, true)
-			//删除心跳
-			DelSpiderHeart(code)
+			DelSpiderHeart(code) //删除心跳
+			UpdateSiteTask(code) //更新重点站点任务
 		} else {
 			success = false
 			msg += code + ";"
@@ -1595,7 +1595,6 @@ func UpStateAndUpSpider(code, id, reason, username string, state int) (bool, err
 				if state == Sp_state_1 { //提交审核
 					upset["l_complete"] = time.Now().Unix()
 					upset["report"] = ""
-					UpdateSiteTask(code) //更新重点站点任务
 				} else if state == Sp_state_7 { //反馈问题
 					upset["report"] = reason
 					upset["state"] = 1 //反馈后爬虫改为待审核
@@ -1607,6 +1606,7 @@ func UpStateAndUpSpider(code, id, reason, username string, state int) (bool, err
 					}
 					upset["frequencyerrtimes"] = 0 //爬虫审核通过,重置采集频率异常次数
 					upset["l_uploadtime"] = time.Now().Unix()
+					UpdateSiteTask(code) //更新重点站点任务
 				} else if state == Sp_state_2 { //打回原因
 					upset["reason"] = reason
 					//清理机检结果

+ 9 - 0
src/taskManager/sitetask.go

@@ -78,6 +78,8 @@ func (t *TaskM) SiteTask() {
 		for _, t := range *task {
 			l_max_repair_time := qu.Int64All(t["l_max_repair_time"])
 			t["b_overdue"] = l_max_repair_time < time.Now().Unix()
+			lua, _ := u.MgoEB.FindOneByField("luaconfig", map[string]interface{}{"code": t["s_spidercode"]}, map[string]interface{}{"state": 1})
+			t["i_state"] = (*lua)["state"]
 			t["encode"] = util.Se.Encode2Hex(fmt.Sprint(t["s_spidercode"]))
 		}
 		t.ServeJson(map[string]interface{}{"draw": draw, "data": task, "recordsFiltered": count, "recordsTotal": count})
@@ -126,6 +128,13 @@ func (t *TaskM) SiteTaskEdit() {
 	t.ServeJson(result)
 }
 
+func (t *TaskM) UpdateCodeState() {
+	code := t.GetString("code")
+	state, _ := t.GetInteger("state")
+	ok := u.MgoEB.Update("luaconfig", map[string]interface{}{"code": code, "state": 5}, map[string]interface{}{"$set": map[string]interface{}{"state": state}}, false, false)
+	t.ServeJson(map[string]interface{}{"ok": ok})
+}
+
 func siteTaskUpdate(query, set map[string]interface{}) bool {
 	return u.MgoEB.Update("spider_important_warning", query, map[string]interface{}{"$set": set}, false, false)
 }

+ 4 - 3
src/taskManager/taskManager.go

@@ -45,9 +45,10 @@ type TaskM struct {
 	//searchTask      	  xweb.Mapper `xweb:"/center/task/searchTask"`      	  //查询任务
 
 	//重点网站任务
-	siteTask      xweb.Mapper `xweb:"/center/sitetask"`       //重点网站任务列表
-	siteTaskClose xweb.Mapper `xweb:"/center/sitetask/close"` //关闭重点网站任务
-	siteTaskEdit  xweb.Mapper `xweb:"/center/sitetask/edit"`  //编辑重点网站任务
+	siteTask        xweb.Mapper `xweb:"/center/sitetask"`                 //重点网站任务列表
+	siteTaskClose   xweb.Mapper `xweb:"/center/sitetask/close"`           //关闭重点网站任务
+	siteTaskEdit    xweb.Mapper `xweb:"/center/sitetask/edit"`            //编辑重点网站任务
+	updateCodeState xweb.Mapper `xweb:"/center/sitetask/updatecodestate"` //编辑重点网站任务
 }
 
 // session是否失效

+ 7 - 1
src/web/templates/sitetask.html

@@ -320,7 +320,13 @@
 					window.location.href="/center/task/edit/"+r.taskid+"__1";
 				}
 			}else{//无常规任务,直接修改爬虫
-				window.location.href="/center/spider/edit/"+encode+"__";
+				$.get("/center/sitetask/updatecodestate",{"code":code,"state":0},function(r){
+					if(r&&r.ok){
+						window.location.href = "/center/spider/edit/"+encode+"__";
+					}else{
+						showTip("爬虫状态更新失败", 2000, function() {});
+					}
+				})
 			}
 		})
 	}