|
|
@ -97,6 +97,7 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) {
|
|
|
|
// return
|
|
|
|
// return
|
|
|
|
//}
|
|
|
|
//}
|
|
|
|
log.Debug(triggerID, "msg storage length", len(storageMsgList), "push length", len(notStoragePushMsgList))
|
|
|
|
log.Debug(triggerID, "msg storage length", len(storageMsgList), "push length", len(notStoragePushMsgList))
|
|
|
|
|
|
|
|
if len(storageMsgList) > 0 {
|
|
|
|
err, lastSeq := saveUserChatList(msgChannelValue.aggregationID, storageMsgList, triggerID)
|
|
|
|
err, lastSeq := saveUserChatList(msgChannelValue.aggregationID, storageMsgList, triggerID)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
singleMsgFailedCount += uint64(len(storageMsgList))
|
|
|
|
singleMsgFailedCount += uint64(len(storageMsgList))
|
|
|
@ -117,17 +118,30 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) {
|
|
|
|
}(notStoragePushMsgList, storageMsgList)
|
|
|
|
}(notStoragePushMsgList, storageMsgList)
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
go func(push []*pbMsg.MsgDataToMQ) {
|
|
|
|
|
|
|
|
for _, x := range push {
|
|
|
|
|
|
|
|
sendMessageToPush(x, msgChannelValue.aggregationID)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}(notStoragePushMsgList)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
func (och *OnlineHistoryRedisConsumerHandler) SendMessageToMongoCH(aggregationID string, triggerID string, messages []*pbMsg.MsgDataToMQ, lastSeq uint64) {
|
|
|
|
func (och *OnlineHistoryRedisConsumerHandler) SendMessageToMongoCH(aggregationID string, triggerID string, messages []*pbMsg.MsgDataToMQ, lastSeq uint64) {
|
|
|
|
|
|
|
|
if len(messages) > 0 {
|
|
|
|
pid, offset, err := producerToMongo.SendMessage(&pbMsg.MsgDataToMongoByMQ{LastSeq: lastSeq, AggregationID: aggregationID, MessageList: messages, TriggerID: triggerID}, aggregationID, triggerID)
|
|
|
|
pid, offset, err := producerToMongo.SendMessage(&pbMsg.MsgDataToMongoByMQ{LastSeq: lastSeq, AggregationID: aggregationID, MessageList: messages, TriggerID: triggerID}, aggregationID, triggerID)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
log.Error(triggerID, "kafka send failed", "send data", len(messages), "pid", pid, "offset", offset, "err", err.Error(), "key", aggregationID)
|
|
|
|
log.Error(triggerID, "kafka send failed", "send data", len(messages), "pid", pid, "offset", offset, "err", err.Error(), "key", aggregationID)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// log.NewWarn(m.OperationID, "sendMsgToKafka client msgID ", m.MsgData.ClientMsgID)
|
|
|
|
// log.NewWarn(m.OperationID, "sendMsgToKafka client msgID ", m.MsgData.ClientMsgID)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
//hashCode := getHashCode(aggregationID)
|
|
|
|
//hashCode := getHashCode(aggregationID)
|
|
|
|
//channelID := hashCode % ChannelNum
|
|
|
|
//channelID := hashCode % ChannelNum
|
|
|
|
//log.Debug(triggerID, "generate channelID", hashCode, channelID, aggregationID)
|
|
|
|
//log.Debug(triggerID, "generate channelID", hashCode, channelID, aggregationID)
|
|
|
|