package main import ( "app.yhyue.com/moapp/jybase/go-logger/logger" "app.yhyue.com/moapp/jybase/go-xweb/xweb" _ "app.yhyue.com/moapp/message/config" "app.yhyue.com/moapp/message/handler" _ "app.yhyue.com/moapp/message/services" "github.com/gogf/gf/v2/os/gcfg" "github.com/gogf/gf/v2/os/gctx" "github.com/nsqio/go-nsq" "log" "net/http" ) func init() { logger.SetConsole(false) logger.SetRollingDaily("./logs", "message.log") } func nsqWork() { // Instantiate a consumer that will subscribe to the provided channel. config := nsq.NewConfig() consumer, err := nsq.NewConsumer(gcfg.Instance().MustGet(gctx.New(), "nsq.topic", "jy_event").String(), gcfg.Instance().MustGet(gctx.New(), "nsq.channel", "event").String(), config) if err != nil { log.Fatal(err) } // Set the Handler for messages received by this Consumer. Can be called multiple times. // See also AddConcurrentHandlers. consumer.AddHandler(&handler.Handler{}) // Use nsqlookupd to discover nsqd instances. // See also ConnectToNSQD, ConnectToNSQDs, ConnectToNSQLookupds. err = consumer.ConnectToNSQLookupd(gcfg.Instance().MustGet(gctx.New(), "nsq.address", "").String()) if err != nil { log.Fatal(err) } // Gracefully stop the consumer. //consumer.Stop() select {} } // func main() { go nsqWork() mux1 := http.NewServeMux() xweb.RunBase(gcfg.Instance().MustGet(gctx.New(), "webport", "").String(), mux1) }