|
@@ -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()
|
|
|
}
|
|
|
}
|
|
|
|