main.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package main
  2. import (
  3. "log"
  4. "mongodb"
  5. _ "net/http/pprof"
  6. "qfw/util"
  7. elastic "qfw/util/elastic"
  8. "strings"
  9. )
  10. var (
  11. Sysconfig map[string]interface{} //配置文件
  12. mgo *mongodb.MongodbSim //mongodb操作对象
  13. biddingIndexFields []string
  14. biddingIndexFieldsMap = map[string]string{}
  15. projectinfoFields []string
  16. projectinfoFieldsMap = map[string]string{}
  17. multiIndex []string
  18. purchasinglistFields []string
  19. winnerorderlistFields []string
  20. purchasinglistFieldsMap = map[string]string{}
  21. winnerorderlistFieldsMap = map[string]string{}
  22. BulkSize = 400
  23. detailLength = 50000
  24. fileLength = 50000
  25. savesize = 500
  26. bidding, project map[string]interface{}
  27. )
  28. var UpdataMgoCache = make(chan []map[string]interface{}, 1000)
  29. var SP = make(chan bool, 5)
  30. func init() {
  31. util.ReadConfig(&Sysconfig)
  32. detailLength = util.IntAllDef(Sysconfig["detaillength"], 50000)
  33. fileLength = util.IntAllDef(Sysconfig["filelength"], 50000)
  34. bidding, _ = Sysconfig["bidding"].(map[string]interface{})
  35. project, _ = Sysconfig["project"].(map[string]interface{})
  36. mconf, _ := Sysconfig["mongodb"].(map[string]interface{})
  37. mgo = &mongodb.MongodbSim{ //mongodb为binding连接
  38. MongodbAddr: mconf["addr"].(string),
  39. Size: util.IntAllDef(mconf["pool"], 5),
  40. DbName: mconf["db"].(string),
  41. //UserName: Sysconfig["uname"].(string),
  42. //Password: Sysconfig["upwd"].(string),
  43. }
  44. mgo.InitPool()
  45. //初始化es
  46. econf := Sysconfig["elastic"].(map[string]interface{})
  47. elastic.InitElasticSize(econf["addr"].(string), util.IntAllDef(econf["pool"], 5))
  48. //
  49. if bidding["indexfields"] != nil {
  50. biddingIndexFields = util.ObjArrToStringArr(bidding["indexfields"].([]interface{}))
  51. }
  52. if bidding["projectinfo"] != nil {
  53. pf := util.ObjToString(bidding["projectinfo"])
  54. if pf != "" {
  55. projectinfoFields = strings.Split(pf, ",")
  56. }
  57. }
  58. if bidding["purchasinglist"] != nil {
  59. pcl := util.ObjToString(bidding["purchasinglist"])
  60. if pcl != "" {
  61. purchasinglistFields = strings.Split(pcl, ",")
  62. }
  63. }
  64. if bidding["winnerorder"] != nil {
  65. winnerorder := util.ObjToString(bidding["winnerorder"])
  66. if winnerorder != "" {
  67. winnerorderlistFields = strings.Split(winnerorder, ",")
  68. }
  69. }
  70. //
  71. if bidding["indexfieldsmap"] != nil {
  72. for k, v := range bidding["indexfieldsmap"].(map[string]interface{}) {
  73. biddingIndexFieldsMap[k] = util.ObjToString(v)
  74. }
  75. log.Println(biddingIndexFieldsMap)
  76. }
  77. if bidding["projectinfomap"] != nil {
  78. for k, v := range bidding["projectinfomap"].(map[string]interface{}) {
  79. projectinfoFieldsMap[k] = util.ObjToString(v)
  80. }
  81. log.Println(projectinfoFieldsMap)
  82. }
  83. if bidding["purchasinglistmap"] != nil {
  84. for k, v := range bidding["purchasinglistmap"].(map[string]interface{}) {
  85. purchasinglistFieldsMap[k] = util.ObjToString(v)
  86. }
  87. log.Println(purchasinglistFieldsMap)
  88. }
  89. if bidding["winnerordermap"] != nil {
  90. for k, v := range bidding["winnerordermap"].(map[string]interface{}) {
  91. winnerorderlistFieldsMap[k] = util.ObjToString(v)
  92. }
  93. log.Println(winnerorderlistFieldsMap)
  94. }
  95. log.Println(projectinfoFields)
  96. log.Println(purchasinglistFields)
  97. //初始化oss
  98. InitOss()
  99. }
  100. func main() {
  101. biddingTask()
  102. //projectTask()
  103. ch := make(chan bool, 1)
  104. <-ch
  105. }