main.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package main
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. "app.yhyue.com/moapp/jybase/go-xweb/xweb"
  5. "app.yhyue.com/moapp/jybase/log"
  6. "app.yhyue.com/moapp/jybase/mail"
  7. "app.yhyue.com/moapp/jybase/redis"
  8. "cmplatform/client"
  9. _ "cmplatform/filter"
  10. "cmplatform/front"
  11. "cmplatform/history"
  12. "cmplatform/push"
  13. "cmplatform/service"
  14. "cmplatform/util"
  15. "fmt"
  16. "runtime"
  17. "time"
  18. )
  19. func init() {
  20. common.ReadConfig(&util.Sysconfig) //初始化配置
  21. util.InitMgoPool() //初始化连接
  22. util.InitOther()
  23. //xweb框架配置
  24. xweb.Config.RecoverPanic = true
  25. xweb.Config.Profiler = true
  26. xweb.RootApp().AppConfig.TemplateDir = "web/templates"
  27. xweb.RootApp().AppConfig.StaticDir = "web/res"
  28. xweb.RootApp().AppConfig.StaticFileVersion = false
  29. xweb.RootApp().AppConfig.CheckXsrf = false
  30. xweb.RootApp().AppConfig.ReloadTemplates = true
  31. xweb.RootApp().AppConfig.EnableHttpCache = false
  32. xweb.RootApp().AppConfig.Mode = xweb.Product
  33. xweb.RootApp().AppConfig.CacheTemplates = false
  34. xweb.AddAction(&front.Front{})
  35. xweb.AddAction(&service.Rule{})
  36. xweb.AddAction(&service.Feedback{})
  37. xweb.AddAction(&service.Private{})
  38. xweb.AddAction(&service.Customer{})
  39. xweb.AddAction(&service.SecondPush{})
  40. xweb.AddAction(&service.EntData{})
  41. xweb.AddAction(&history.HistoryData{})
  42. xweb.AddAction(&client.Client{})
  43. xweb.AddAction(&client.OwnTag{})
  44. xweb.AddAction(&client.CustomerRule{})
  45. xweb.AddAction(&service.DataStatistics{})
  46. xweb.AddAction(&push.Push{})
  47. xweb.AddAction(&service.Groups{})
  48. xweb.RootApp().AppConfig.SessionTimeout = 24 * time.Hour
  49. xweb.RootApp().Logger.SetOutputLevel(3)
  50. go history.SaveMgo()
  51. go history.SaveUsermailMgo()
  52. mails, _ := util.Sysconfig["mail"].([]interface{})
  53. if len(mails) > 0 {
  54. history.Gmails = make([]*mail.GmailAuth, len(mails))
  55. for k, v1 := range mails {
  56. v, _ := v1.(map[string]interface{})
  57. history.Gmails[k] = &mail.GmailAuth{
  58. SmtpHost: common.ObjToString(v["addr"]),
  59. SmtpPort: common.IntAll(v["port"]),
  60. User: common.ObjToString(v["user"]),
  61. Pwd: common.ObjToString(v["pwd"]),
  62. }
  63. }
  64. }
  65. initOther()
  66. redis.Del("datag", "jyqyfw_es_query")
  67. }
  68. func initOther() {
  69. for _, v := range util.Sysconfig["project_appid"].([]interface{}) {
  70. history.ProjectAppidMap[v.(string)] = true
  71. }
  72. for _, s := range util.Sysconfig["filetext_appid"].([]interface{}) {
  73. history.FileTextAppidMap[s.(string)] = true
  74. }
  75. for _, s := range util.Sysconfig["checkbidopen_appid"].([]interface{}) {
  76. history.CheckBidOpenAppidMap[s.(string)] = true
  77. }
  78. for _, v := range util.Sysconfig["checkbidhref_ruleid"].([]interface{}) {
  79. history.CheckBidHrefRuleIdMap[v.(string)] = true
  80. }
  81. for _, v := range util.Sysconfig["dis_package_appid"].([]interface{}) {
  82. history.DisPackageAppidMap[v.(string)] = true
  83. }
  84. for _, v := range util.Sysconfig["need_projectid_appid"].([]interface{}) {
  85. history.NeedProjectidAppidMap[v.(string)] = true
  86. }
  87. for _, v := range util.Sysconfig["filter_filehref_appid"].([]interface{}) {
  88. history.FilterFilehrefAppidMap[v.(string)] = true
  89. }
  90. for _, v := range util.Sysconfig["need_filehref_appid"].([]interface{}) {
  91. history.NeedFilehrefAppidMap[v.(string)] = true
  92. }
  93. for _, v := range util.Sysconfig["Henan_mobile_winbid"].([]interface{}) {
  94. history.HenanMobileWinbidMap[v.(string)] = true
  95. }
  96. for _, v := range util.Sysconfig["Henan_mobile_bidtype"].([]interface{}) {
  97. history.HenanMobileBidtypeMap[v.(string)] = true
  98. }
  99. for _, v := range util.Sysconfig["filter_file_and_detail"].([]interface{}) {
  100. history.FilterFileAndDetailMap[v.(string)] = true
  101. }
  102. for _, v := range util.Sysconfig["filter_owner_appid"].([]interface{}) {
  103. history.FilterOwnerMap[v.(string)] = true
  104. }
  105. }
  106. func main() {
  107. numCPU := runtime.NumCPU()
  108. log.Debug(fmt.Sprintf("Number of CPUs: %d\n", numCPU))
  109. runtime.GOMAXPROCS(numCPU / 2)
  110. log.Debug("port:" + fmt.Sprint(util.Sysconfig["port"]))
  111. xweb.Run(":" + common.ObjToString(util.Sysconfig["port"]))
  112. }