2016-04-19 26 views
0

假设我在队列中有m条消息,并且有n条消息需要发布。如何将随机顺序中的n条消息插入到队列中,而不是追加到队列末尾?换句话说,我如何使用rabbitMQ来洗牌?如何随机化RabbitMQ中的消息顺序?

+0

这听起来像你不想排队。 – idbehold

+0

好吧,我有一个特殊的用例riro,随机输入,随机输出 – msong

+2

即按照定义,不是排队。 – idbehold

回答

1

如何使用rabbitMQ进行随机播放?

你不能。不是在RabbitMQ中,至少直接。

RMQ中的所有队列都是先进先出先进先出。消息放入队列的顺序是它们将被传递给消费者的顺序。

如果要随机化消息放入队列的顺序,则必须从消息生产者的代码中执行此操作。

2

没有内置的方法来随机化队列中消息的顺序。但是,RabbitMQ确实支持优先级队列,您可以在其中设置消息的优先级(0到255之间),并且优先级最低的消息将首先消耗。你可以为每条消息指定一个随机优先级,它会给你一个队列的伪随机化。

RabbitMQ Documentation