|
@@ -40,7 +40,7 @@ var InitCount int
|
|
var InitAllLuaOver = make(chan bool, 1) //所有脚本是否加载完毕
|
|
var InitAllLuaOver = make(chan bool, 1) //所有脚本是否加载完毕
|
|
|
|
|
|
func InitSpider() {
|
|
func InitSpider() {
|
|
- scriptMap := getSpiderScriptDB("all")
|
|
|
|
|
|
+ scriptMap := getSpiderScriptDB("all") //加载爬虫,初始化模板
|
|
scriptMapFile := getSpiderScriptFile(false)
|
|
scriptMapFile := getSpiderScriptFile(false)
|
|
k := 0
|
|
k := 0
|
|
for _, v := range scriptMap {
|
|
for _, v := range scriptMap {
|
|
@@ -104,6 +104,10 @@ func NoQueueScript() {
|
|
} else {
|
|
} else {
|
|
logger.Info(code, "脚本加载失败,请检查!")
|
|
logger.Info(code, "脚本加载失败,请检查!")
|
|
nowT := time.Now().Unix()
|
|
nowT := time.Now().Unix()
|
|
|
|
+ username := "异常"
|
|
|
|
+ if sp != nil {
|
|
|
|
+ username = sp.MUserName
|
|
|
|
+ }
|
|
mgu.Update("spider_loadfail", "spider", "spider",
|
|
mgu.Update("spider_loadfail", "spider", "spider",
|
|
map[string]interface{}{
|
|
map[string]interface{}{
|
|
"code": code,
|
|
"code": code,
|
|
@@ -118,7 +122,7 @@ func NoQueueScript() {
|
|
"type": "初始化",
|
|
"type": "初始化",
|
|
"script": script,
|
|
"script": script,
|
|
"updatetime": nowT,
|
|
"updatetime": nowT,
|
|
- "modifyuser": sp.MUserName,
|
|
|
|
|
|
+ "modifyuser": username,
|
|
"event": util.Config.Uploadevent,
|
|
"event": util.Config.Uploadevent,
|
|
"err": errstr,
|
|
"err": errstr,
|
|
},
|
|
},
|
|
@@ -168,7 +172,6 @@ func QueueUpScriptList() {
|
|
if !old_is_running { //判断当前爬虫是否正在执行
|
|
if !old_is_running { //判断当前爬虫是否正在执行
|
|
script := info["script"]
|
|
script := info["script"]
|
|
sp, errstr := NewSpider_New(code, script, false)
|
|
sp, errstr := NewSpider_New(code, script, false)
|
|
- isHistoricalMend := sp.IsHistoricalMend
|
|
|
|
//logger.Info("初始化脚本是否成功:", sp != nil, e.Value)
|
|
//logger.Info("初始化脚本是否成功:", sp != nil, e.Value)
|
|
if errstr == "" && sp != nil && sp.Code != "nil" { //初始化脚本成功
|
|
if errstr == "" && sp != nil && sp.Code != "nil" { //初始化脚本成功
|
|
sp.Index = qu.IntAll(key)
|
|
sp.Index = qu.IntAll(key)
|
|
@@ -184,6 +187,10 @@ func QueueUpScriptList() {
|
|
sp.StartJob()
|
|
sp.StartJob()
|
|
} else {
|
|
} else {
|
|
nowT := time.Now().Unix()
|
|
nowT := time.Now().Unix()
|
|
|
|
+ username := "异常"
|
|
|
|
+ if sp != nil {
|
|
|
|
+ username = sp.MUserName
|
|
|
|
+ }
|
|
mgu.Update("spider_loadfail", "spider", "spider",
|
|
mgu.Update("spider_loadfail", "spider", "spider",
|
|
map[string]interface{}{
|
|
map[string]interface{}{
|
|
"code": code,
|
|
"code": code,
|
|
@@ -198,13 +205,13 @@ func QueueUpScriptList() {
|
|
"type": "初始化",
|
|
"type": "初始化",
|
|
"script": script,
|
|
"script": script,
|
|
"updatetime": nowT,
|
|
"updatetime": nowT,
|
|
- "modifyuser": sp.MUserName,
|
|
|
|
|
|
+ "modifyuser": username,
|
|
"event": util.Config.Uploadevent,
|
|
"event": util.Config.Uploadevent,
|
|
"err": errstr,
|
|
"err": errstr,
|
|
},
|
|
},
|
|
}, true, false)
|
|
}, true, false)
|
|
}
|
|
}
|
|
- if isHistoricalMend { //下载历史的爬虫执行一次后删除
|
|
|
|
|
|
+ if sp != nil && sp.IsHistoricalMend { //下载历史的爬虫执行一次后删除
|
|
DelLen++
|
|
DelLen++
|
|
LoopListPath.Delete(key)
|
|
LoopListPath.Delete(key)
|
|
b := mgu.Update("luaconfig", "editor", "editor", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"state": 6}}, false, false)
|
|
b := mgu.Update("luaconfig", "editor", "editor", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"state": 6}}, false, false)
|
|
@@ -935,6 +942,8 @@ func NewSpider_New(code, luafile string, newstate bool) (*Spider, string) {
|
|
//新增历史补漏
|
|
//新增历史补漏
|
|
spider.IsHistoricalMend = spider.GetBoolVar("spiderIsHistoricalMend")
|
|
spider.IsHistoricalMend = spider.GetBoolVar("spiderIsHistoricalMend")
|
|
spider.IsMustDownload = spider.GetBoolVar("spiderIsMustDownload")
|
|
spider.IsMustDownload = spider.GetBoolVar("spiderIsMustDownload")
|
|
|
|
+ //新老爬虫
|
|
|
|
+ spider.IsCompete = spider.GetBoolVar("spiderIsCompete")
|
|
return spider, ""
|
|
return spider, ""
|
|
}
|
|
}
|
|
|
|
|
|
@@ -995,7 +1004,8 @@ func NewSpider(code, luafile string) (*Spider, string) {
|
|
//qu.Debug("-------", spider.GetBoolVar("spiderIsHistoricalMend"), spider.GetBoolVar("spiderIsMustDownload"))
|
|
//qu.Debug("-------", spider.GetBoolVar("spiderIsHistoricalMend"), spider.GetBoolVar("spiderIsMustDownload"))
|
|
spider.IsHistoricalMend = spider.GetBoolVar("spiderIsHistoricalMend")
|
|
spider.IsHistoricalMend = spider.GetBoolVar("spiderIsHistoricalMend")
|
|
spider.IsMustDownload = spider.GetBoolVar("spiderIsMustDownload")
|
|
spider.IsMustDownload = spider.GetBoolVar("spiderIsMustDownload")
|
|
-
|
|
|
|
|
|
+ //新老爬虫
|
|
|
|
+ spider.IsCompete = spider.GetBoolVar("spiderIsCompete")
|
|
return spider, ""
|
|
return spider, ""
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1110,7 +1120,7 @@ func GetScriptByTmp(luaconfig map[string]interface{}) string {
|
|
} else {
|
|
} else {
|
|
script_content = luaconfig["str_content"].(string)
|
|
script_content = luaconfig["str_content"].(string)
|
|
}
|
|
}
|
|
- script += fmt.Sprintf(util.Tmp_Other, luaconfig["spidertype"], luaconfig["spiderhistorymaxpage"], luaconfig["spidermovevent"])
|
|
|
|
|
|
+ script += fmt.Sprintf(util.Tmp_Other, luaconfig["spidertype"], luaconfig["spiderhistorymaxpage"], luaconfig["spidermovevent"], luaconfig["spidercompete"])
|
|
script += `
|
|
script += `
|
|
` + script_time + `
|
|
` + script_time + `
|
|
` + script_list + `
|
|
` + script_list + `
|