Bladeren bron

审核人员待审核爬虫个数提醒

maxiaoshan 3 jaren geleden
bovenliggende
commit
206aaf4420
5 gewijzigde bestanden met toevoegingen van 111 en 39 verwijderingen
  1. 2 1
      src/config.json
  2. 5 4
      src/main.go
  3. 70 10
      src/timetask/wxworkwarn.go
  4. 11 3
      src/user.json
  5. 23 21
      src/util/config.go

+ 2 - 1
src/config.json

@@ -90,7 +90,8 @@
     "startaskcron": "0 0 8 ? * MON-FRI",
 	"codesummarycron": "0 30 8 ? * *",
 	"randomdatapushcron": "0 50 8 ? * MON-FRI",
-	"qyworkremindcron": "0 0 9 ? * MON-FRI",
+	"qyworkremindmodifyusercron": "0 0 9 ? * MON-FRI",
+	"qyworkremindauditorcron": "0 30 17 ? * MON-FRI",
 	"filewarncron": "0 55 8 ? * *",
 	"movelistdata": "0 0 0 ? * *",
 	"closenum": 2,

+ 5 - 4
src/main.go

@@ -40,10 +40,11 @@ func main() {
 	c := cron.New()
 	c.Start()
 	//定时任务
-	c.AddFunc(util.RandomDataPushCron, timetask.GetSpiderWarnData) //数据维护平台-爬虫数据维护数据数据统计
-	c.AddFunc(util.QyworkRemindCron, timetask.SendInfoToWxWork)    //企业微信日常警告
-	c.AddFunc(util.FileWarnCron, timetask.GetFileWarn)             //异常附件数据警告
-	c.AddFunc(util.MoveListDataCron, timetask.MoveListData)        //列表页数据迁移
+	c.AddFunc(util.RandomDataPushCron, timetask.GetSpiderWarnData)                     //数据维护平台-爬虫数据维护数据数据统计
+	c.AddFunc(util.QyworkRemindModifyuserCron, timetask.Sendinfotowxwork_Tomodifyuser) //企业微信日常警告,爬虫开发人员告警信息
+	c.AddFunc(util.QyworkRemindAuditorCron, timetask.SendInfoToWxWork_ToAuditor)       //企业微信日常警告,审核人员告警信息
+	c.AddFunc(util.FileWarnCron, timetask.GetFileWarn)                                 //异常附件数据警告
+	c.AddFunc(util.MoveListDataCron, timetask.MoveListData)                            //列表页数据迁移
 	//编辑器任务
 	c.AddFunc(util.ResetDataStateCron, luatask.ResetDataState) //重置数据
 	c.AddFunc(util.StartTaskCron, luatask.StartTask)           //开始任务

+ 70 - 10
src/timetask/wxworkwarn.go

@@ -12,7 +12,8 @@ import (
 )
 
 var LuaUserMap map[string]map[string]string
-var LuaUserInfoMap map[string]*LuaUserInfo
+var LuaModifyUserInfoMap map[string]*LuaUserInfo //开发人员信息集合
+var LuaAuditorInfoMap map[string]*LuaUserInfo    //审核人员信息集合
 
 type UserTextInfo struct {
 	Username             string
@@ -25,6 +26,7 @@ type UserTextInfo struct {
 type LuaUserInfo struct {
 	Username string
 	Mobile   string
+	Auth     string
 }
 
 //
@@ -45,28 +47,42 @@ var MarkdownModel = `{
 var TextModel = `{
     "msgtype": "text",
     "text": {
-        "content": "",
+        "content": "%s",
         "mentioned_mobile_list":[%s]
     }
 }`
 
 func GetLuaUserInfo() {
-	LuaUserInfoMap = map[string]*LuaUserInfo{}
+	LuaModifyUserInfoMap = map[string]*LuaUserInfo{}
+	LuaAuditorInfoMap = map[string]*LuaUserInfo{}
 	for eu, info := range LuaUserMap {
-		LuaUserInfoMap[eu] = &LuaUserInfo{
-			Username: info["username"],
-			Mobile:   info["mobile"],
+		auth := info["auth"]
+		if auth == "1" { //开发人员
+			LuaModifyUserInfoMap[eu] = &LuaUserInfo{
+				Username: info["username"],
+				Mobile:   info["mobile"],
+				Auth:     auth,
+			}
+		}
+		if auth == "3" || eu == "ssc" { //审核人员
+			LuaAuditorInfoMap[eu] = &LuaUserInfo{
+				Username: info["username"],
+				Mobile:   info["mobile"],
+				Auth:     auth,
+			}
 		}
 	}
+	qu.Debug(LuaModifyUserInfoMap)
+	qu.Debug(LuaAuditorInfoMap)
 }
 
-// SendInfoToWxWork
-func SendInfoToWxWork() {
+// 统计爬虫开发人员未完成爬虫和任务
+func Sendinfotowxwork_Tomodifyuser() {
 	defer qu.Catch()
 	qu.Debug("企业微信发送提示信息")
 	failedTaskCount, heartCodeCount := 0, 0   //总未通过任务个数,总待处理心跳异常爬虫个数
 	userTextMap := map[string]*UserTextInfo{} //key:mobile
-	for eu, userInfo := range LuaUserInfoMap {
+	for eu, userInfo := range LuaModifyUserInfoMap {
 		textInfo := &UserTextInfo{}
 		textInfo.Username = userInfo.Username
 		//1、未通过任务信息
@@ -136,22 +152,66 @@ func SendInfoToWxWork() {
 	}
 	msg := fmt.Sprintf(MarkdownModel, resultContent)
 	qu.Debug("msg", msg)
-	toUserMsg := fmt.Sprintf(TextModel, strings.Join(mobileArr, ","))
+	toUserMsg := fmt.Sprintf(TextModel, "", strings.Join(mobileArr, ","))
 	qu.Debug("toUserMsg", toUserMsg)
 	resp1, err := http.Post(
 		"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=97850772-88d0-4544-a2c3-6201aeddff9e",
 		"application/json",
 		bytes.NewBuffer([]byte(toUserMsg)),
 	)
+	if err != nil {
+		fmt.Println("request error:", err)
+		return
+	}
 	defer resp1.Body.Close()
 	resp2, err := http.Post(
 		"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=97850772-88d0-4544-a2c3-6201aeddff9e",
 		"application/json",
 		bytes.NewBuffer([]byte(msg)),
 	)
+	if err != nil {
+		fmt.Println("request error:", err)
+		return
+	}
 	defer resp2.Body.Close()
+}
+
+// 统计爬虫审核人员待审核爬虫
+func SendInfoToWxWork_ToAuditor() {
+	defer qu.Catch()
+	qu.Debug("企业微信发送提示信息")
+	tmpContent := "当前"
+	tmpModifyList := []string{}
+	qu.Debug(LuaAuditorInfoMap)
+	for eu, userInfo := range LuaAuditorInfoMap {
+		query := map[string]interface{}{
+			"state":    1,
+			"platform": "golua平台",
+		}
+		if eu == "cjk" { //陈佳康审核的施顺才的爬虫
+			query["modifyuser"] = map[string]interface{}{
+				"$eq": "ssc",
+			}
+		} else {
+			query["modifyuser"] = map[string]interface{}{
+				"$ne": "ssc",
+			}
+		}
+		count := util.MgoE.Count("luaconfig", query)
+		tmpContent += userInfo.Username + "待审核爬虫的个数为:" + fmt.Sprint(count) + ";"
+		tmpModifyList = append(tmpModifyList, userInfo.Mobile)
+	}
+	msg := fmt.Sprintf(TextModel, tmpContent, strings.Join(tmpModifyList, ","))
+	qu.Debug("msg", msg)
+	resp1, err := http.Post(
+		"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=97850772-88d0-4544-a2c3-6201aeddff9e",
+		"application/json",
+		bytes.NewBuffer([]byte(msg)),
+	)
 	if err != nil {
 		fmt.Println("request error:", err)
+		return
 	}
+	defer resp1.Body.Close()
 
 }

+ 11 - 3
src/user.json

@@ -1,14 +1,22 @@
 {
 	"ssc":{
 		"username": "施顺才",
-		"mobile": "13523457747"
+		"mobile": "13523457747",
+		"auth": "1"
 	},
 	"lyf":{
 		"username": "刘一帆",
-		"mobile": "15896901897"
+		"mobile": "15896901897",
+		"auth": "1"
 	},
 	"jiaoyubo":{
 		"username": "焦宇波",
-		"mobile": "15516197109"
+		"mobile": "15516197109",
+		"auth": "1"
+	},
+	"cjk":{
+		"username": "陈佳康",
+		"mobile": "15736702898",
+		"auth": "3"
 	}
 }

+ 23 - 21
src/util/config.go

@@ -8,26 +8,27 @@ import (
 )
 
 var (
-	Config             map[string]interface{}
-	MgoE               *mgo.MongodbSim //editor
-	MgoS               *mgo.MongodbSim //spider
-	MgoPy              *mgo.MongodbSim //py_spider
-	CommServers        map[string]interface{}
-	BidServers         map[string]interface{}
-	UploadEvents       map[int]string
-	RandomDataPushCron string
-	QyworkRemindCron   string
-	StartTaskCron      string        //任务开始
-	CodeSummaryCron    string        //每天统计爬虫信息
-	ResetDataStateCron string        //重置数据状态
-	FileWarnCron       string        //每天统计附件异常数据
-	MoveListDataCron   string        //迁移spider_highlistdata、spider_listdata数据
-	CloseNum           int           //关闭几天的任务
-	DayNum             int           //更新数据天数
-	CodeEventModel     map[int]int   //节点对应的采集模式0:老模式;1:新模式
-	CodeEventWorking   map[int]int   //节点对应的采集模式0:高性能模式;1:队列模式
-	GMail              *gm.GmailAuth //邮件信息
-	To                 string        //邮件接收人
+	Config                     map[string]interface{}
+	MgoE                       *mgo.MongodbSim //editor
+	MgoS                       *mgo.MongodbSim //spider
+	MgoPy                      *mgo.MongodbSim //py_spider
+	CommServers                map[string]interface{}
+	BidServers                 map[string]interface{}
+	UploadEvents               map[int]string
+	RandomDataPushCron         string
+	QyworkRemindModifyuserCron string
+	QyworkRemindAuditorCron    string
+	StartTaskCron              string        //任务开始
+	CodeSummaryCron            string        //每天统计爬虫信息
+	ResetDataStateCron         string        //重置数据状态
+	FileWarnCron               string        //每天统计附件异常数据
+	MoveListDataCron           string        //迁移spider_highlistdata、spider_listdata数据
+	CloseNum                   int           //关闭几天的任务
+	DayNum                     int           //更新数据天数
+	CodeEventModel             map[int]int   //节点对应的采集模式0:老模式;1:新模式
+	CodeEventWorking           map[int]int   //节点对应的采集模式0:高性能模式;1:队列模式
+	GMail                      *gm.GmailAuth //邮件信息
+	To                         string        //邮件接收人
 
 )
 var TimeReg = regexp.MustCompile("[0-9]{4}-[0-9]{2}-[0-9]{2}")
@@ -61,7 +62,8 @@ func InitOther() {
 	CodeSummaryCron = qu.ObjToString(Config["codesummarycron"])
 	ResetDataStateCron = qu.ObjToString(Config["resetdatastatecron"])
 	RandomDataPushCron = qu.ObjToString(Config["randomdatapushcron"])
-	QyworkRemindCron = qu.ObjToString(Config["qyworkremindcron"])
+	QyworkRemindModifyuserCron = qu.ObjToString(Config["qyworkremindmodifyusercron"])
+	QyworkRemindAuditorCron = qu.ObjToString(Config["qyworkremindauditorcron"])
 	FileWarnCron = qu.ObjToString(Config["filewarncron"])
 	MoveListDataCron = qu.ObjToString(Config["movelistdata"])
 	CloseNum = qu.IntAll(Config["closenum"])