main.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package main
  2. import (
  3. "app.yhyue.com/moapp/jybase/go-logger/logger"
  4. "app.yhyue.com/moapp/jybase/go-xweb/xweb"
  5. _ "app.yhyue.com/moapp/message/config"
  6. "app.yhyue.com/moapp/message/handler"
  7. _ "app.yhyue.com/moapp/message/services"
  8. "github.com/gogf/gf/v2/os/gcfg"
  9. "github.com/gogf/gf/v2/os/gctx"
  10. "github.com/nsqio/go-nsq"
  11. "log"
  12. "net/http"
  13. )
  14. func init() {
  15. logger.SetConsole(false)
  16. logger.SetRollingDaily("./logs", "message.log")
  17. }
  18. func nsqWork() {
  19. // Instantiate a consumer that will subscribe to the provided channel.
  20. config := nsq.NewConfig()
  21. consumer, err := nsq.NewConsumer(gcfg.Instance().MustGet(gctx.New(), "nsq.topic", "jy_event").String(), gcfg.Instance().MustGet(gctx.New(), "nsq.channel", "event").String(), config)
  22. if err != nil {
  23. log.Fatal(err)
  24. }
  25. // Set the Handler for messages received by this Consumer. Can be called multiple times.
  26. // See also AddConcurrentHandlers.
  27. consumer.AddHandler(&handler.Handler{})
  28. // Use nsqlookupd to discover nsqd instances.
  29. // See also ConnectToNSQD, ConnectToNSQDs, ConnectToNSQLookupds.
  30. err = consumer.ConnectToNSQLookupd(gcfg.Instance().MustGet(gctx.New(), "nsq.address", "").String())
  31. if err != nil {
  32. log.Fatal(err)
  33. }
  34. // Gracefully stop the consumer.
  35. //consumer.Stop()
  36. select {}
  37. }
  38. //
  39. func main() {
  40. go nsqWork()
  41. mux1 := http.NewServeMux()
  42. xweb.RunBase(gcfg.Instance().MustGet(gctx.New(), "webport", "").String(), mux1)
  43. }