mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
batch to mongo
This commit is contained in:
parent
fa7c6b6f52
commit
1af6e628ff
@ -18,16 +18,17 @@ func (d *DataBases) BatchInsertChat(userID string, msgList []*pbMsg.MsgDataToMQ,
|
|||||||
if len(msgList) > GetSingleGocMsgNum() {
|
if len(msgList) > GetSingleGocMsgNum() {
|
||||||
return errors.New("too large")
|
return errors.New("too large")
|
||||||
}
|
}
|
||||||
|
isInit := false
|
||||||
currentMaxSeq, err := d.GetUserMaxSeq(userID)
|
currentMaxSeq, err := d.GetUserMaxSeq(userID)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
||||||
} else if err == redis.ErrNil {
|
} else if err == redis.ErrNil {
|
||||||
|
isInit = true
|
||||||
currentMaxSeq = 0
|
currentMaxSeq = 0
|
||||||
} else {
|
} else {
|
||||||
return utils.Wrap(err, "")
|
return utils.Wrap(err, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
//4999
|
|
||||||
remain := uint64(GetSingleGocMsgNum()) - (currentMaxSeq % uint64(GetSingleGocMsgNum()))
|
remain := uint64(GetSingleGocMsgNum()) - (currentMaxSeq % uint64(GetSingleGocMsgNum()))
|
||||||
insertCounter := uint64(0)
|
insertCounter := uint64(0)
|
||||||
msgListToMongo := make([]MsgInfo, 0)
|
msgListToMongo := make([]MsgInfo, 0)
|
||||||
@ -43,6 +44,13 @@ func (d *DataBases) BatchInsertChat(userID string, msgList []*pbMsg.MsgDataToMQ,
|
|||||||
if sMsg.Msg, err = proto.Marshal(m.MsgData); err != nil {
|
if sMsg.Msg, err = proto.Marshal(m.MsgData); err != nil {
|
||||||
return utils.Wrap(err, "")
|
return utils.Wrap(err, "")
|
||||||
}
|
}
|
||||||
|
if isInit {
|
||||||
|
msgListToMongoNext = append(msgListToMongoNext, sMsg)
|
||||||
|
seqUidNext = getSeqUid(userID, uint32(currentMaxSeq))
|
||||||
|
log.Debug(operationID, "msgListToMongoNext ", seqUidNext, m.MsgData.Seq, m.MsgData.ClientMsgID, insertCounter, remain)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if insertCounter < remain {
|
if insertCounter < remain {
|
||||||
msgListToMongo = append(msgListToMongo, sMsg)
|
msgListToMongo = append(msgListToMongo, sMsg)
|
||||||
insertCounter++
|
insertCounter++
|
||||||
|
Loading…
x
Reference in New Issue
Block a user