message.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. // Code generated by goctl. DO NOT EDIT!
  2. // Source: message.proto
  3. package main
  4. import (
  5. "app.yhyue.com/moapp/MessageCenter/entity"
  6. "app.yhyue.com/moapp/MessageCenter/rpc/internal/common"
  7. "app.yhyue.com/moapp/MessageCenter/rpc/internal/config"
  8. "app.yhyue.com/moapp/MessageCenter/rpc/internal/server"
  9. "app.yhyue.com/moapp/MessageCenter/rpc/internal/svc"
  10. "app.yhyue.com/moapp/MessageCenter/rpc/type/message"
  11. mc "app.yhyue.com/moapp/jybase/common"
  12. "app.yhyue.com/moapp/jybase/endless"
  13. "app.yhyue.com/moapp/jybase/mail"
  14. m "app.yhyue.com/moapp/jybase/mongodb"
  15. "app.yhyue.com/moapp/jybase/mysql"
  16. "app.yhyue.com/moapp/jybase/redis"
  17. "flag"
  18. "fmt"
  19. "github.com/zeromicro/go-zero/core/conf"
  20. "github.com/zeromicro/go-zero/core/logx"
  21. "github.com/zeromicro/go-zero/zrpc"
  22. "google.golang.org/grpc"
  23. "log"
  24. )
  25. var configFile = flag.String("f", "etc/message.yaml", "the config file")
  26. var logFile = flag.String("lf", "etc/logs.yaml", "the logs file")
  27. var logc entity.Logc
  28. var c config.Config
  29. func main() {
  30. flag.Parse()
  31. conf.MustLoad(*configFile, &c)
  32. go func() {
  33. err := endless.ListenAndServe(":"+mc.InterfaceToStr(c.WebRpcPort), nil, func() {})
  34. if err != nil {
  35. log.Println("ListenAndServe: ", err)
  36. }
  37. }()
  38. ctx := svc.NewServiceContext(c)
  39. srv := server.NewMessageServer(ctx)
  40. s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
  41. message.RegisterMessageServer(grpcServer, srv)
  42. })
  43. defer s.Stop()
  44. fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
  45. s.Start()
  46. }
  47. // 创建orm引擎
  48. func init() {
  49. conf.MustLoad(*configFile, &config.ConfigJson)
  50. log.Println("开始初始化数据库。。。。。")
  51. //初始化mysql
  52. entity.Mysql = &mysql.Mysql{
  53. Address: config.ConfigJson.DataSource.Address,
  54. UserName: config.ConfigJson.DataSource.UserName,
  55. PassWord: config.ConfigJson.DataSource.PassWord,
  56. DBName: config.ConfigJson.DataSource.DbName,
  57. MaxOpenConns: config.ConfigJson.DataSource.MaxOpenConns,
  58. MaxIdleConns: config.ConfigJson.DataSource.MaxIdleConns,
  59. }
  60. entity.Mysql.Init()
  61. common.AllMsgType, entity.MessageColumn = common.MessageType()
  62. //初始化basemysql
  63. entity.BaseMysql = &mysql.Mysql{
  64. Address: config.ConfigJson.BaseSource.Address,
  65. UserName: config.ConfigJson.BaseSource.UserName,
  66. PassWord: config.ConfigJson.BaseSource.PassWord,
  67. DBName: config.ConfigJson.BaseSource.DbName,
  68. MaxOpenConns: config.ConfigJson.BaseSource.MaxOpenConns,
  69. MaxIdleConns: config.ConfigJson.BaseSource.MaxIdleConns,
  70. }
  71. entity.BaseMysql.Init()
  72. //初始化 redis
  73. if config.ConfigJson.RedisAddr != "" {
  74. redis.InitRedis(config.ConfigJson.RedisAddr)
  75. }
  76. // 初始化mongo
  77. if config.ConfigJson.Mongodb != nil {
  78. log.Println("初始化 mongodb main")
  79. entity.MQFW = m.MongodbSim{
  80. MongodbAddr: config.ConfigJson.Mongodb.Address,
  81. Size: config.ConfigJson.Mongodb.Size,
  82. DbName: config.ConfigJson.Mongodb.DbName,
  83. ReplSet: config.ConfigJson.Mongodb.ReplSet,
  84. }
  85. entity.MQFW.InitPool()
  86. }
  87. // 初始化发送邮件
  88. for _, v := range config.ConfigJson.Mail {
  89. entity.GmailAuth = append(entity.GmailAuth, &mail.GmailAuth{
  90. SmtpHost: v.Addr,
  91. SmtpPort: v.Port,
  92. User: v.User,
  93. Pwd: v.Pwd,
  94. })
  95. }
  96. // 初始化消息保存并发通道
  97. entity.SaveConcurrencyChan = make(chan int, config.ConfigJson.SaveConcurrency)
  98. //初始化日志信息
  99. conf.MustLoad(*logFile, &logc)
  100. if len(logc.Level) > 0 {
  101. for _, v := range logc.Level {
  102. logx.MustSetup(logx.LogConf{
  103. Mode: logc.Mode,
  104. Path: logc.Path,
  105. Level: v,
  106. KeepDays: logc.KeepDays,
  107. })
  108. logx.Info(v, "--日志记录")
  109. }
  110. }
  111. if config.ConfigJson.SurvivalTime != 0 {
  112. entity.SurvivalTime = config.ConfigJson.SurvivalTime
  113. }
  114. }