main.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package main
  2. import (
  3. "mongodb"
  4. qu "qfw/util"
  5. es "qfw/util/elastic"
  6. )
  7. var (
  8. Sysconfig map[string]interface{} //配置文件
  9. Mgo *mongodb.MongodbSim
  10. Dbname string
  11. Dbcoll string
  12. Savecoll string
  13. Es *es.Elastic
  14. Index string
  15. Itype string
  16. OtherIndex string
  17. OtherItype string
  18. EsFields []string
  19. Fields []string
  20. AddressMap map[string]*City
  21. AddressOldMap map[string]*City
  22. QyStypeMap map[string]string
  23. CompanyStatusMap map[string]string
  24. TaskTime int
  25. //Updatetime int64
  26. )
  27. var EsSaveCache = make(chan map[string]interface{}, 1000)
  28. var SP = make(chan bool, 5)
  29. var EsSaveAllCache = make(chan map[string]interface{}, 1000)
  30. var SPAll = make(chan bool, 5)
  31. func init() {
  32. //config
  33. qu.ReadConfig(&Sysconfig)
  34. //mgo
  35. Dbname = Sysconfig["dbname"].(string)
  36. Dbcoll = Sysconfig["dbcoll"].(string)
  37. Savecoll = Sysconfig["savecoll"].(string)
  38. Mgo = &mongodb.MongodbSim{
  39. MongodbAddr: Sysconfig["mgodb"].(string),
  40. Size: qu.IntAllDef(Sysconfig["dbsize"], 5),
  41. DbName: Dbname,
  42. //UserName: Sysconfig["uname"].(string),
  43. //Password: Sysconfig["upwd"].(string),
  44. }
  45. Mgo.InitPool()
  46. //es
  47. econf := Sysconfig["elastic"].(map[string]interface{})
  48. Index = econf["index"].(string)
  49. Itype = econf["itype"].(string)
  50. OtherIndex = econf["otherindex"].(string)
  51. OtherItype = econf["otheritype"].(string)
  52. Es = &es.Elastic{
  53. S_esurl: econf["addr"].(string),
  54. I_size: qu.IntAllDef(econf["pool"], 12),
  55. }
  56. Es.InitElasticSize()
  57. Fields = qu.ObjArrToStringArr(econf["fields"].([]interface{}))
  58. EsFields = qu.ObjArrToStringArr(econf["esfields"].([]interface{}))
  59. //启动es保存
  60. go SaveEs() //过滤后数据
  61. go SaveAllEs() //所有数据
  62. //初始化其他信息
  63. TaskTime = qu.IntAll(Sysconfig["tasktime"])
  64. //Updatetime = qu.Int64All(Sysconfig["updatetime"])
  65. InitAddress()
  66. InitQyStype()
  67. InitCompanyStatus()
  68. }
  69. func main() {
  70. //go TimeTask()
  71. //QyxyStandard()
  72. HistoryQyxyStandard()
  73. ch := make(chan bool, 1)
  74. <-ch
  75. }