123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package luaerrdata
- import (
- qu "qfw/util"
- mgdb "qfw/util/mongodb"
- mgu "qfw/util/mongodbutil"
- "spider"
- util "spiderutil"
- "time"
- "github.com/go-xweb/xweb"
- )
- type ErrorLua struct {
- *xweb.Action
- errorLuaIndex xweb.Mapper `xweb:"/center/errorLua"` //加载错误爬虫信息
- reUpSpider xweb.Mapper `xweb:"/center/errorLua/upSpider"` //重新上架
- }
- func (el *ErrorLua) ErrorLuaIndex() {
- defer qu.Catch()
- if el.Method() == "POST" {
- auth := qu.IntAll(el.GetSession("auth"))
- username := el.GetSession("loginuser").(string)
- query := map[string]interface{}{
- // "modifytime": map[string]interface{}{
- // "$exists": false,
- // },
- }
- if auth == role_dev {
- if username != "" {
- query["modifyuser"] = username
- } else {
- el.Write("数据错误")
- }
- }
- qu.Debug("query:", query)
- list := *mgu.Find("spider_loadfail", "spider", "spider", query, map[string]interface{}{"_id": -1}, nil, false, -1, -1)
- for _, l := range list {
- l["encode"] = util.Se.Encode2Hex(qu.ObjToString(l["code"]))
- }
- el.ServeJson(map[string]interface{}{"data": list})
- } else {
- el.Render("errlualist.html")
- }
- }
- func (el *ErrorLua) ReUpSpider() {
- defer qu.Catch()
- code := el.GetString("code")
- id := el.GetString("id")
- lua := *mgdb.FindOne("luaconfig", `{"code":"`+code+`"}`)
- success := false
- text := ""
- if len(lua) > 0 {
- event := qu.IntAll(lua["event"])
- if qu.IntAll(lua["state"]) == 5 { //是上架状态
- //重新上架
- b, err := spider.UpdateSpiderByCodeState(code, "5", event)
- if b && err == nil {
- success = true
- go mgu.Update("spider_loadfail", "spider", "spider",
- map[string]interface{}{
- "_id": qu.StringTOBsonId(id),
- },
- map[string]interface{}{
- "$set": map[string]interface{}{
- "modifytime": time.Now().Unix(),
- },
- }, false, false)
- } else {
- success = false
- text = err.Error()
- }
- } else {
- success = false
- text = "爬虫暂时无法上架,请联系管理人员"
- }
- } else {
- success = false
- text = "没有对应爬虫"
- }
- el.ServeJson(map[string]interface{}{"success": success, "text": text})
- }
|