golang 的 rabbitmq 消费项目
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 

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