mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-03 18:52:15 +08:00
40 lines
788 B
Go
40 lines
788 B
Go
package logic
|
|
|
|
import (
|
|
"Open_IM/pkg/common/config"
|
|
"Open_IM/pkg/common/log"
|
|
"Open_IM/pkg/common/mq"
|
|
"Open_IM/pkg/common/mq/kafka"
|
|
"Open_IM/pkg/common/mq/nsq"
|
|
)
|
|
|
|
var (
|
|
persistentCH PersistentConsumerHandler
|
|
historyCH HistoryConsumerHandler
|
|
producer mq.Producer
|
|
)
|
|
|
|
func Init() {
|
|
log.NewPrivateLog(config.Config.ModuleName.MsgTransferName)
|
|
persistentCH.Init()
|
|
historyCH.Init()
|
|
|
|
cfg := config.Config.MQ.Ms2pschat
|
|
switch cfg.Type {
|
|
case "kafka":
|
|
producer = kafka.NewKafkaProducer(cfg.Addr, cfg.Topic)
|
|
case "nsq":
|
|
p, err := nsq.NewNsqProducer(cfg.Addr[0], cfg.Topic)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
producer = p
|
|
}
|
|
}
|
|
|
|
func Run() {
|
|
//register mysqlConsumerHandler to
|
|
go persistentCH.persistentConsumerGroup.Start()
|
|
go historyCH.historyConsumerGroup.Start()
|
|
}
|