main.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package main
  2. import (
  3. log "github.com/donnie4w/go-logger/logger"
  4. _ "jy/admin"
  5. _ "jy/admin/audit"
  6. _ "jy/admin/distribution"
  7. _ "jy/admin/task"
  8. "jy/extract"
  9. _ "jy/front"
  10. . "jy/router"
  11. u "jy/util"
  12. "net/http"
  13. _ "net/http/pprof"
  14. qu "qfw/util"
  15. "qfw/util/elastic"
  16. "qfw/util/redis"
  17. "regexp"
  18. )
  19. func init() {
  20. log.SetConsole(false)
  21. log.SetLevel(log.DEBUG)
  22. log.SetRollingDaily("./", "out.log")
  23. qu.ReadConfig(&u.Config)
  24. //抽取price和number相关
  25. qu.ReadConfig("./res/pricenumber.json", &u.PriceNumberConfig)
  26. /*
  27. qu.ReadConfig("./res/brandrule.json", &util.BrandRules)
  28. qu.ReadConfig("./res/goods.json", &util.GoodsConfig)
  29. qu.ReadConfig("./res/brand.json", &util.BrandConfig)
  30. 初始化品牌和商品
  31. util.InitBrand()
  32. util.InitGoods()
  33. */
  34. //初始化util
  35. u.UtilInit()
  36. //初始化redis
  37. redis.InitRedisBySize(qu.ObjToString(u.Config["redis"]), 50, 30, 240)
  38. //初始化elastic连接
  39. //"winner=172.17.145.179:2710,buyer=172.17.145.179:2711"
  40. elastic.InitElasticSize(qu.ObjToString(u.Config["elasticsearch"]), qu.IntAllDef(3, 30))
  41. //if eClient, err := elastic.NewClient(elastic.SetURL(qu.ObjToString(util.Config["elasticsearch"]))); err != nil {
  42. // log.Debug(util.Config["elasticsearch"])
  43. // log.Fatal("ElasticClient err:", err)
  44. //} else {
  45. // util.ElasticClient = eClient
  46. u.QYK_RedisName = qu.ObjToString(u.Config["redis_qyk"])
  47. u.WinnerDB = qu.IntAll(u.Config["redis_winner_db"])
  48. u.BuyerDB = qu.IntAll(u.Config["redis_buyer_db"])
  49. u.AgencyDB = qu.IntAll(u.Config["redis_agency_db"])
  50. //}
  51. }
  52. func main() {
  53. extract.ExtractUdp() //udp通知抽取
  54. //extract.ClearUdp() //udp通知清理
  55. go extract.Export()
  56. //go heart.HeartMonitor() //心跳监测
  57. go Router.Run(":" + qu.ObjToString(u.Config["port"]))
  58. go log.Debug("启动..", qu.ObjToString(u.Config["port"]))
  59. go func() {
  60. http.ListenAndServe("localhost:10000", nil)
  61. }()
  62. //临时调试
  63. //testMain()
  64. lock := make(chan bool)
  65. <-lock
  66. }
  67. //验证规则
  68. func testMain() {
  69. text :=``
  70. var formattext11 = regexp.MustCompile("(项目预算)\n(第[一1](包|标段)[::])([0-9.万元人民币]+)\n" +
  71. "(第[二2](包|标段)[::])([0-9.万元人民币]+)\n")
  72. if formattext11.MatchString(text) {
  73. text = formattext11.ReplaceAllString(text,"${1}\n${2}\n预算金额:${4}\n${5}\n预算金额:${7}\n${8}\n")
  74. log.Debug(text)
  75. }else {
  76. log.Debug("不匹配")
  77. }
  78. log.Debug(text)
  79. }