func RecvMessageWithNum()

in golang/utils/ClientUtils.go [281:301]


func RecvMessageWithNum(simpleConsumer rmq_client.SimpleConsumer, maxMessageNum int32, invisibleDuration time.Duration, pollSeconds int64, recvNum int) *RecvMsgsCollector {
	recvMsgCollector := NewRecvMsgsCollector()
	start := time.Now().Unix()
	for {
		mvs, err := simpleConsumer.Receive(context.TODO(), maxMessageNum, invisibleDuration)
		if err != nil {
			fmt.Println(err)
		}
		// ack message
		for _, mv := range mvs {
			simpleConsumer.Ack(context.TODO(), mv)
			recvMsgCollector.MsgIds = append(recvMsgCollector.MsgIds, mv.GetMessageId())
			recvMsgCollector.RecvMsgViews = append(recvMsgCollector.RecvMsgViews, mv)
			fmt.Println(mv)
		}
		if time.Now().Unix()-start > pollSeconds || len(recvMsgCollector.MsgIds) >= recvNum {
			break
		}
	}
	return recvMsgCollector
}