2016-04-19 52 views
0

假設我在隊列中有m條消息,並且有n條消息需要發佈。如何將隨機順序中的n條消息插入到隊列中,而不是追加到隊列末尾?換句話說,我如何使用rabbitMQ來洗牌?如何隨機化RabbitMQ中的消息順序?

+0

這聽起來像你不想排隊。 – idbehold

+0

好吧,我有一個特殊的用例riro,隨機輸入,隨機輸出 – msong

+2

即按照定義,不是排隊。 – idbehold

回答

1

如何使用rabbitMQ進行隨機播放?

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

RMQ中的所有隊列都是先進先出先進先出。消息放入隊列的順序是它們將被傳遞給消費者的順序。

如果要隨機化消息放入隊列的順序,則必須從消息生產者的代碼中執行此操作。

2

沒有內置的方法來隨機化隊列中消息的順序。但是,RabbitMQ確實支持優先級隊列,您可以在其中設置消息的優先級(0到255之間),並且優先級最低的消息將首先消耗。你可以爲每條消息指定一個隨機優先級,它會給你一個隊列的僞隨機化。

RabbitMQ Documentation