config.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package util
  2. import (
  3. mgo "mongodb"
  4. qu "qfw/util"
  5. gm "qfw/util/mail"
  6. "regexp"
  7. )
  8. var (
  9. Config map[string]interface{}
  10. MgoE *mgo.MongodbSim //editor
  11. MgoEB *mgo.MongodbSim //editor
  12. MgoS *mgo.MongodbSim //spider
  13. MgoPy *mgo.MongodbSim //py_spider
  14. MgoB *mgo.MongodbSim //bidding
  15. CommServers map[string]interface{}
  16. BidServers map[string]interface{}
  17. UploadEvents map[int]string
  18. RandomDataPushCron string
  19. QyworkRemindModifyuserCron string
  20. QyworkRemindAuditorCron string
  21. StartTaskCron string //任务开始
  22. CodeSummaryCron string //每天统计爬虫信息
  23. ResetDataStateCron string //重置数据状态
  24. FileWarnCron string //每天统计附件异常数据
  25. MoveListDataCron string //迁移spider_highlistdata、spider_listdata数据
  26. CloseNum int //关闭几天的任务
  27. DayNum int //更新数据天数
  28. CodeEventModel map[int]int //节点对应的采集模式0:老模式;1:新模式
  29. CodeEventWorking map[int]int //节点对应的采集模式0:高性能模式;1:队列模式
  30. GMail *gm.GmailAuth //邮件信息
  31. To string //邮件接收人
  32. )
  33. var TimeReg = regexp.MustCompile("[0-9]{4}-[0-9]{2}-[0-9]{2}")
  34. func InitMgo() {
  35. spider := Config["spider"].(map[string]interface{})
  36. MgoS = &mgo.MongodbSim{
  37. MongodbAddr: qu.ObjToString(spider["addr"]),
  38. DbName: qu.ObjToString(spider["db"]),
  39. Size: qu.IntAll(spider["size"]),
  40. }
  41. MgoS.InitPool()
  42. pyspider := Config["pyspider"].(map[string]interface{})
  43. MgoPy = &mgo.MongodbSim{
  44. MongodbAddr: qu.ObjToString(pyspider["addr"]),
  45. DbName: qu.ObjToString(pyspider["db"]),
  46. Size: qu.IntAll(pyspider["size"]),
  47. }
  48. MgoPy.InitPool()
  49. editor := Config["editor"].(map[string]interface{})
  50. MgoE = &mgo.MongodbSim{
  51. MongodbAddr: qu.ObjToString(editor["addr"]),
  52. DbName: qu.ObjToString(editor["db"]),
  53. Size: qu.IntAll(editor["size"]),
  54. }
  55. MgoE.InitPool()
  56. bidding := Config["bidding"].(map[string]interface{})
  57. MgoB = &mgo.MongodbSim{
  58. MongodbAddr: qu.ObjToString(bidding["addr"]),
  59. DbName: qu.ObjToString(bidding["db"]),
  60. Size: qu.IntAll(bidding["size"]),
  61. UserName: qu.ObjToString(bidding["username"]),
  62. Password: qu.ObjToString(bidding["password"]),
  63. }
  64. MgoB.InitPool()
  65. bidEditor := Config["bideditor"].(map[string]interface{})
  66. MgoEB = &mgo.MongodbSim{
  67. MongodbAddr: qu.ObjToString(bidEditor["addr"]),
  68. DbName: qu.ObjToString(bidEditor["db"]),
  69. Size: qu.IntAll(bidEditor["size"]),
  70. UserName: qu.ObjToString(bidEditor["username"]),
  71. Password: qu.ObjToString(bidEditor["password"]),
  72. }
  73. MgoEB.InitPool()
  74. }
  75. func InitOther() {
  76. StartTaskCron = qu.ObjToString(Config["startaskcron"])
  77. CodeSummaryCron = qu.ObjToString(Config["codesummarycron"])
  78. ResetDataStateCron = qu.ObjToString(Config["resetdatastatecron"])
  79. RandomDataPushCron = qu.ObjToString(Config["randomdatapushcron"])
  80. QyworkRemindModifyuserCron = qu.ObjToString(Config["qyworkremindmodifyusercron"])
  81. QyworkRemindAuditorCron = qu.ObjToString(Config["qyworkremindauditorcron"])
  82. FileWarnCron = qu.ObjToString(Config["filewarncron"])
  83. MoveListDataCron = qu.ObjToString(Config["movelistdata"])
  84. CloseNum = qu.IntAll(Config["closenum"])
  85. DayNum = qu.IntAll(Config["daynum"])
  86. MsgServers := Config["msgservers"].(map[string]interface{})
  87. CommServers = MsgServers["comm"].(map[string]interface{})
  88. BidServers = MsgServers["bid"].(map[string]interface{})
  89. //event信息
  90. eventsinfo := Config["eventsinfo"].(map[string]interface{})
  91. UploadEvents = map[int]string{}
  92. CodeEventModel = map[int]int{}
  93. CodeEventWorking = map[int]int{}
  94. for event, info := range eventsinfo {
  95. eventTmp := qu.IntAll(event)
  96. infoMap := info.(map[string]interface{})
  97. UploadEvents[eventTmp] = qu.ObjToString(infoMap["server"])
  98. CodeEventModel[eventTmp] = qu.IntAll(infoMap["model"])
  99. CodeEventWorking[eventTmp] = qu.IntAll(infoMap["work"])
  100. }
  101. //qu.Debug(UploadEvents, CodeEventModel, CodeEventWorking)
  102. //mail
  103. mail := Config["mail"].(map[string]interface{})
  104. qu.Debug(mail)
  105. GMail = &gm.GmailAuth{
  106. SmtpHost: qu.ObjToString(mail["host"]),
  107. SmtpPort: qu.IntAll(mail["port"]),
  108. User: qu.ObjToString(mail["user"]),
  109. Pwd: qu.ObjToString(mail["pwd"]),
  110. ReTry: qu.IntAll(mail["retry"]),
  111. }
  112. To = qu.ObjToString(mail["to"])
  113. }