main.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package main
  2. import (
  3. _ "luaweb/filter"
  4. "luaweb/front"
  5. "luaweb/quesManager"
  6. "luaweb/spider"
  7. //. "luaweb/task"
  8. "luaweb/luaerrdata"
  9. "luaweb/taskManager"
  10. "luaweb/tomail"
  11. "luaweb/udp"
  12. u "luaweb/util"
  13. "net/http"
  14. qu "qfw/util"
  15. mgdb "qfw/util/mongodb"
  16. mgu "qfw/util/mongodbutil"
  17. "qfw/util/redis"
  18. //"spiderutil"
  19. util "spiderutil"
  20. "time"
  21. "github.com/go-xweb/httpsession"
  22. "github.com/go-xweb/xweb"
  23. "github.com/yuin/gopher-lua"
  24. )
  25. func init() {
  26. //qu.ReadConfig("config.json", &tomail.Mail)
  27. front.SessMap = make(map[string]*httpsession.Session)
  28. qu.ReadConfig(&util.Config)
  29. qu.ReadConfig("autoimport.json", &front.AutoTpl)
  30. qu.ReadConfig("transfercode.json", &front.Transfercode)
  31. //redis
  32. redis.InitRedis(util.Config.Redisservers)
  33. //新建连接
  34. conf := *new(mgu.PoolConfig)
  35. conf.Addr = util.Config.Dbaddr
  36. conf.Alias = util.Config.Dbname2
  37. conf.DB = util.Config.Dbname2
  38. conf.Size = 10
  39. mgu.Config = append(mgu.Config, conf)
  40. mgu.InitMongodbPool()
  41. smtp := util.Config.Smtp
  42. front.Mails = util.New(smtp["addr"], qu.IntAll(smtp["port"]), smtp["user"], smtp["pwd"])
  43. mgdb.InitMongodbPool(20, util.Config.Dbaddr, util.Config.Dbname)
  44. lua.Disablelib(util.Config.Luadisablelib)
  45. //初始化区域信息
  46. u.InitAreaCity()
  47. //初始化mgo
  48. //u.InitMgo()
  49. //xweb框架配置
  50. xweb.Config.RecoverPanic = true
  51. xweb.Config.Profiler = true
  52. xweb.RootApp().AppConfig.TemplateDir = "web/templates"
  53. xweb.RootApp().AppConfig.StaticDir = "web/staticres"
  54. xweb.RootApp().AppConfig.StaticFileVersion = false
  55. xweb.RootApp().AppConfig.CheckXsrf = false
  56. xweb.RootApp().AppConfig.ReloadTemplates = true
  57. xweb.RootApp().AppConfig.EnableHttpCache = false
  58. xweb.RootApp().AppConfig.Mode = xweb.Product
  59. xweb.RootApp().AppConfig.CacheTemplates = false
  60. xweb.AddAction(&front.Front{})
  61. xweb.AddAction(&taskManager.TaskM{})
  62. xweb.AddAction(&quesManager.QuesM{})
  63. xweb.AddAction(&luaerrdata.ErrorData{})
  64. xweb.AddAction(&front.LuaMove{})
  65. xweb.RootApp().AppConfig.SessionTimeout = 1 * time.Hour
  66. xweb.RootApp().Logger.SetOutputLevel(4)
  67. xweb.AddTmplVar("add", func(a, b int) int { return a + b })
  68. spider.InitMsgClient(
  69. qu.ObjToString(util.Config.Msgservers["comm"]["addr"]),
  70. qu.ObjToString(util.Config.Msgservers["bid"]["addr"]),
  71. qu.ObjToString(util.Config.Msgservers["test"]["addr"]),
  72. qu.ObjToString(util.Config.Msgservers["comm"]["name"]),
  73. qu.ObjToString(util.Config.Msgservers["bid"]["name"]),
  74. qu.ObjToString(util.Config.Msgservers["test"]["name"]),
  75. )
  76. spider.InitMsgClientFile(util.Config.MsgserveraddrFile, util.Config.Msgname+"file")
  77. //初始化网络存储服务
  78. //util.InitWeedcl()
  79. util.OssInit(
  80. qu.ObjToString(util.Config.OssInfo["ossEndpoint"]),
  81. qu.ObjToString(util.Config.OssInfo["ossAccessKeyId"]),
  82. qu.ObjToString(util.Config.OssInfo["ossAccessKeySecret"]),
  83. qu.ObjToString(util.Config.OssInfo["ossBucketName"]),
  84. )
  85. //udp
  86. udp.InitUdp()
  87. }
  88. //
  89. func main() {
  90. //定时查询任务发送邮件
  91. //go tomail.SendToMail()
  92. //定时任务
  93. go tomail.TimeTask()
  94. //提供接口,接收其他数据
  95. http.HandleFunc("/spider/infos", func(w http.ResponseWriter, req *http.Request) {
  96. data := req.FormValue("data")
  97. types := req.FormValue("type")
  98. if types == "info" {
  99. front.SpiderInfo(data)
  100. }
  101. if types == "mtask" {
  102. front.SpiderModifyTask(data)
  103. }
  104. if types == "code" {
  105. front.SpiderMoveEvent(data)
  106. }
  107. })
  108. go http.ListenAndServe(":6011", nil)
  109. xweb.Run(":" + util.Config.Webport)
  110. }