maxiaoshan 3 жил өмнө
parent
commit
7a47d8ed05

+ 0 - 1
src/config.json

@@ -2,7 +2,6 @@
 	"spider":{
 		"addr": "192.168.3.207:27092",
 		"db": "spider",
-		"pythondb": "py_spider",
 		"size": 15
     },
     "editor": {

+ 11 - 5
src/luatask/task.go

@@ -130,6 +130,7 @@ var (
 	EndTime     int64                     //上一个工作日的结束时间
 	TaskMap     map[string]*Task          //任务集合
 	UserTaskNum map[string]map[string]int //记录每人每天新建任务量
+	CodeLock    = &sync.Mutex{}
 	//
 )
 
@@ -141,10 +142,10 @@ func StartTask() {
 	GetSpiderDownloadRateDataNew()
 	GetSpiderWarnErrData()
 	GetPythonWarnErrData()
-	//SaveCodeInfo()
+	SaveCodeInfo()
 	CreateTaskProcess()
-	// GetDownloadNumber() //统计下载量
 	ResetDataState() //更新数据状态
+	// GetDownloadNumber() //统计下载量
 	//CloseTask()      //关闭任务
 }
 
@@ -233,7 +234,11 @@ func PrapareCodeBaseInfo() {
 			info.Platform = qu.ObjToString(tmp["platform"])
 			info.Event = qu.IntAll(tmp["event"])
 			info.State = qu.IntAll(tmp["state"])
-			info.ListIsFilter = tmp["listisfilter"].(bool)
+			if info.Platform == "python" {
+				info.ListIsFilter = false
+			} else {
+				info.ListIsFilter = tmp["listisfilter"].(bool)
+			}
 			info.FrequencyErrTimes = qu.IntAll(tmp["frequencyerrtimes"])
 			info.Model = util.CodeEventModel[info.Event]
 			info.Working = util.CodeEventWorking[info.Event]
@@ -945,7 +950,7 @@ func CreateTaskProcess() {
 				}
 			}
 			if spider.Platform == "golua平台" { //lua异常(由于采集频率异常比较特殊固放到最后处理)
-				if spider.ListNoDataTimes > 0 { //列表页无采集数据
+				if spider.ListNoDataTimes > 0 && spider.ListNoDataTimes == spider.ListDownloadAllTimes { //列表页无采集数据
 					//5、列表页异常	errtype:7
 					if !spider.ListIsFilter { //列表页不含过滤代码
 						task.State = 1 //待处理
@@ -1167,15 +1172,16 @@ func UpdateLuaInfo(sp *Spider) {
 	if b && sp.FrequencyErrTimes <= 3 { //FrequencyErrTimes>3时会建采集频率异常的待处理任务,不再上下架
 		//爬虫下架、上加
 		qu.Debug("爬虫上下架 code:", sp.Code)
+		CodeLock.Lock()
 		ok, err := util.UpdateSpiderByCodeState(sp.Code, "6", sp.Event) //下架
 		if ok && err == nil {
 			logger.Debug(sp.Code, "下架成功")
-			time.Sleep(1 * time.Second)
 			ok, err = util.UpdateSpiderByCodeState(sp.Code, "5", sp.Event) //上架
 			if ok && err == nil {
 				logger.Debug(sp.Code, "上架成功")
 			}
 		}
+		CodeLock.Unlock()
 	}
 }
 

+ 5 - 4
src/main.go

@@ -2,7 +2,6 @@ package main
 
 import (
 	"fmt"
-	"github.com/donnie4w/go-logger/logger"
 	"io/ioutil"
 	"luatask"
 	"os"
@@ -11,6 +10,8 @@ import (
 	"timetask"
 	"util"
 
+	"github.com/donnie4w/go-logger/logger"
+
 	"github.com/cron"
 )
 
@@ -38,9 +39,9 @@ func main() {
 	go clearLogs()
 	c := cron.New()
 	c.Start()
-	c.AddFunc(util.RandomDataPushCron, timetask.GetSpiderWarnData)
-	c.AddFunc(util.QyworkRemindCron, timetask.SendInfoToWxWork)
-	c.AddFunc(util.StartTaskCron, luatask.StartTask) //开始任务
+	c.AddFunc(util.RandomDataPushCron, timetask.GetSpiderWarnData) //数据维护平台-爬虫数据维护数据数据统计
+	c.AddFunc(util.QyworkRemindCron, timetask.SendInfoToWxWork)    //企业微信日常警告
+	c.AddFunc(util.StartTaskCron, luatask.StartTask)               //开始任务
 	//c.AddFunc(CodeSummaryCron, SummaryCode)    //上架爬虫信息汇总
 	ch := make(chan bool, 1)
 	<-ch

+ 1 - 1
src/util/config.go

@@ -34,7 +34,7 @@ func InitMgo() {
 		Size:        qu.IntAll(spider["size"]),
 	}
 	MgoS.InitPool()
-	pyspider := Config["spider"].(map[string]interface{})
+	pyspider := Config["pyspider"].(map[string]interface{})
 	MgoPy = &mgo.MongodbSim{
 		MongodbAddr: qu.ObjToString(pyspider["addr"]),
 		DbName:      qu.ObjToString(pyspider["db"]),