init.go 985 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package init
  2. import (
  3. "flag"
  4. "fmt"
  5. "github.com/zeromicro/go-zero/core/conf"
  6. "jyInfo/rpc/manager/internal/config"
  7. "jyInfo/rpc/model"
  8. "log"
  9. _ "github.com/go-sql-driver/mysql"
  10. "github.com/jinzhu/gorm"
  11. )
  12. var configF = flag.String("ff", "etc/manager.yaml", "the config file")
  13. var C config.Config
  14. var DB *gorm.DB
  15. var err error
  16. func init() {
  17. conf.MustLoad(*configF, &C)
  18. //初始化msyql
  19. mm := C.MysqlMain
  20. data_source := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local",
  21. mm.UserName,
  22. mm.PassWord,
  23. mm.Address,
  24. mm.DbName,
  25. )
  26. DB, err = gorm.Open("mysql", data_source)
  27. if err != nil {
  28. panic(err)
  29. }
  30. DB.DB().SetMaxOpenConns(mm.MaxOpenConns) // 最大连接数
  31. DB.DB().SetMaxIdleConns(mm.MaxIdleConns) // 最大空闲数
  32. log.Println("初始化 mysql")
  33. //初始redis
  34. rm := C.Redis
  35. model.InitRedis(&rm)
  36. model.InitMysql(&mm)
  37. //初始NSQ
  38. nm := C.Nsq
  39. model.InitNsqConfig(&nm)
  40. //初始Sensitive
  41. sm := C.Sensitive
  42. model.InitSensitive(&sm)
  43. }