golang 的 rabbitmq 消费项目
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

60 lines
1.2 KiB

  1. package main
  2. import (
  3. "applet/app/cfg"
  4. "applet/app/db"
  5. "applet/app/utils"
  6. "applet/app/utils/logx"
  7. "applet/consume"
  8. db2 "applet/super_cloud_issuance/db"
  9. "fmt"
  10. "os"
  11. "os/signal"
  12. "syscall"
  13. )
  14. //系统初始化
  15. func init() {
  16. cfg.InitCfg() //配置初始化
  17. cfg.InitLog() //日志初始化
  18. cfg.InitCache() //缓存初始化
  19. cfg.InitMq() //队列初始化
  20. cfg.InitEs() //ElasticSearch初始化
  21. if cfg.Debug { //判断是否是debug
  22. if err := db.InitDB(cfg.DB); err != nil { //主数据库初始化
  23. panic(err)
  24. }
  25. if err := db.InitDataDB(cfg.DataDB); err != nil { //数据大屏本身库初始化
  26. panic(err)
  27. }
  28. if err := db.InitImDB(cfg.ImDB); err != nil { //im本身库初始化
  29. panic(err)
  30. }
  31. if err := db2.InitZhimengDB(cfg.ZhimengDB); err != nil {
  32. panic(err)
  33. }
  34. channel := make(chan int, 0) //开辟管道,缓冲为
  35. go db.InitDBs(channel)
  36. <-channel
  37. }
  38. fmt.Println("init success")
  39. }
  40. func main() {
  41. if cfg.CurlDebug {
  42. utils.CurlDebug = true
  43. }
  44. go func() {
  45. // 初始化
  46. consume.Init()
  47. consume.Run()
  48. }()
  49. quit := make(chan os.Signal)
  50. signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
  51. <-quit
  52. _ = logx.Info("Server exiting...")
  53. }