mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 19:32:17 +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()
 | 
						|
}
 |