NodeJS 如何在所有高优先级的消息完成传递后才传递低优先级的消息?

rks48beu  于 2023-10-17  发布在  Node.js
关注(0)|答案(1)|浏览(102)

如何确保优先级2的消息在所有优先级1的消息都发送完之后才发送?
我正在向我的用户发送通知,每个用户都有资格获得多个通知。这些通知具有与它们相关联的优先级,并且目标是用户仅接收最高优先级的消息。

目标-我想在开始投递优先级2的消息之前,先投递所有优先级1的消息。
约束条件-不能同时下发不同优先级的通知消息。我只能同时发送相同优先级的通知消息。

理想情况下,我希望有一个
1.一个队列,我将一个优先级的所有消息转储到该队列中。这个队列将有多个消费者,它们将同时传递这些消息。
1.一旦所有优先级为1的消息都被发送并且队列为空,我将把所有优先级为2的消息转储到队列中,以便由多个消费者同时发送
1.对后续优先级继续上述过程

问题-我想知道如何在RabbitMQ中实现此设计/流程?或者有更好的方法来处理这种情况。

请让我知道,如果我不明白的东西,可以添加更多的细节,以澄清。
谢谢你

uwopmtnx

uwopmtnx1#

RabbitMQ支持priority queues。请仔细阅读文档,特别是具有许多不同优先级的性能影响。

相关问题