main.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "log"
  6. "app.yhyue.com/moapp/jybase/common"
  7. elastic "app.yhyue.com/moapp/jybase/esv1"
  8. "app.yhyue.com/moapp/jybase/mongodb"
  9. "app.yhyue.com/moapp/jybase/mysql"
  10. "app.yhyue.com/moapp/jybase/redis"
  11. "github.com/robfig/cron"
  12. )
  13. var (
  14. cfg = new(Config)
  15. Mysql *mysql.Mysql
  16. TiDb *mysql.Mysql
  17. Base *mysql.Mysql
  18. Es *elastic.Elastic
  19. Mgo *mongodb.MongodbSim
  20. MgoLog *mongodb.MongodbSim
  21. // configFile = flag.String("c", "./config.yaml", "配置文件")
  22. mode = flag.Int("m", 1, "")
  23. )
  24. func main() {
  25. flag.Parse()
  26. common.ReadConfig(&cfg)
  27. // _ = config.LoadConfigWithYaml(*configFile, cfg)
  28. log.Println("cfg ", cfg)
  29. TiDb = &mysql.Mysql{
  30. Address: cfg.TiDb.Host + ":" + fmt.Sprint(cfg.TiDb.Port),
  31. UserName: cfg.TiDb.User,
  32. PassWord: cfg.TiDb.Password,
  33. DBName: cfg.TiDb.Database,
  34. MaxOpenConns: cfg.TiDb.PollSize,
  35. MaxIdleConns: cfg.TiDb.MaxIdle,
  36. }
  37. TiDb.Init()
  38. Mysql = &mysql.Mysql{
  39. Address: cfg.Mysql.Host + ":" + fmt.Sprint(cfg.Mysql.Port),
  40. UserName: cfg.Mysql.User,
  41. PassWord: cfg.Mysql.Password,
  42. DBName: cfg.Mysql.Database,
  43. MaxOpenConns: cfg.Mysql.PollSize,
  44. MaxIdleConns: cfg.Mysql.MaxIdle,
  45. }
  46. Mysql.Init()
  47. Base = &mysql.Mysql{
  48. Address: cfg.BaseService.Host + ":" + fmt.Sprint(cfg.BaseService.Port),
  49. UserName: cfg.BaseService.User,
  50. PassWord: cfg.BaseService.Password,
  51. DBName: cfg.BaseService.Database,
  52. MaxOpenConns: cfg.BaseService.PollSize,
  53. MaxIdleConns: cfg.BaseService.MaxIdle,
  54. }
  55. Base.Init()
  56. Es = &elastic.Elastic{
  57. S_esurl: cfg.Es.Address,
  58. I_size: cfg.Es.DbSize,
  59. }
  60. Es.InitElasticSize()
  61. redis.InitRedis(cfg.RedisServer)
  62. Mgo = mongodb.NewMgo(cfg.Mgo.Address, cfg.Mgo.DbName, cfg.Mgo.DbSize)
  63. MgoLog = mongodb.NewMgoWithUser(cfg.MgoLog.Address, cfg.MgoLog.DbName, cfg.MgoLog.User, cfg.MgoLog.Password, cfg.MgoLog.DbSize)
  64. InitArea()
  65. if *mode == 1 {
  66. // 未支付订单 30分钟一次
  67. orders()
  68. a := cron.New()
  69. a.AddFunc(cfg.CornExp1, func() {
  70. orders()
  71. })
  72. a.Start()
  73. // 新注册用户 5分钟一次
  74. // users()
  75. b := cron.New()
  76. b.AddFunc(cfg.CornExp2, func() {
  77. users()
  78. saleLeads()
  79. })
  80. b.Start()
  81. // 留资 5分钟一次
  82. // c := cron.New()
  83. // c.AddFunc(cfg.CornExp3, func() {
  84. // saleLeads()
  85. // })
  86. // c.Start()
  87. // 用户标签一天一次
  88. // tagAllSync()
  89. d := cron.New()
  90. d.AddFunc(cfg.CornExp4, func() {
  91. tagAllSync()
  92. })
  93. d.Start()
  94. // 用户标签增量 5分钟一次
  95. tagAddSync()
  96. e := cron.New()
  97. e.AddFunc(cfg.CornExp5, func() {
  98. tagAddSync()
  99. })
  100. e.Start()
  101. //订阅增量 5分钟一次
  102. subscribeAddSync()
  103. f := cron.New()
  104. f.AddFunc(cfg.CornExp6, func() {
  105. subscribeAddSync()
  106. })
  107. f.Start()
  108. //自动进入任务车 1天一次
  109. // autoTask()
  110. // autoTasks()
  111. g := cron.New()
  112. g.AddFunc(cfg.CornExp7, func() {
  113. autoTask()
  114. autoTasks()
  115. })
  116. g.Start()
  117. select {}
  118. } else if *mode == 2 {
  119. users()
  120. } else if *mode == 3 {
  121. saleLeads()
  122. } else if *mode == 4 {
  123. saleLeads()
  124. users()
  125. } else if *mode == 5 {
  126. tagAllSync()
  127. } else if *mode == 6 {
  128. tagAddSync()
  129. e := cron.New()
  130. e.AddFunc(cfg.CornExp5, func() {
  131. tagAddSync()
  132. })
  133. e.Start()
  134. select {}
  135. } else if *mode == 7 {
  136. subscribeAddSync()
  137. e := cron.New()
  138. e.AddFunc(cfg.CornExp6, func() {
  139. subscribeAddSync()
  140. })
  141. e.Start()
  142. select {}
  143. } else if *mode == 8 {
  144. subscribeAllSync()
  145. } else if *mode == 9 {
  146. autoTask()
  147. } else if *mode == 10 {
  148. getAreaCode("6447753fb4f3c077da9d5336")
  149. } else if *mode == 11 {
  150. trail()
  151. }
  152. }