当队列有效载荷中添加的值出现错误时,我想重新排入RabbitMQ。

问题描述 投票:0回答:1

我有一个特殊类型的问题声明要解决。

将RabbitMQ配置为消息代理,它的工作,但当消耗过程中出现故障时,我现在用以下方式来确认 窝囊 但它盲目地用已经进来的任何东西作为有效载荷重新排队,但我想添加更多的字段,用更简单的步骤重新排队。

例如:当消耗者从RabbitMQ获取有效载荷数据时,它将处理这些数据,并试图在多台主机上基于这些数据进行一些处理,但由于某些原因,如果一台机器无法到达,我需要在一段时间后单独处理这些数据。

当消耗者从RabbitMQ获取有效载荷数据时,它将对其进行处理,并试图在多台主机上基于该数据进行一些处理,但由于某些原因,如果一台机器无法到达,我需要在一段时间后单独处理。机器名称 再回到队列中,这样就可以用现有的逻辑再次处理。

如何实现这个目标?谁能帮帮我

node.js typescript rabbitmq message-queue
1个回答
1
投票

当消息被重新排队时,如果可能的话,该消息将被放置到其队列中的原始位置。如果不可能(当多个消费者共享一个队列时,由于其他消费者的并发交付和确认),消息将被重排到一个更接近队列头的位置。这样一来,你就会陷入一个无限循环(消耗和重排消息)。为了避免这种情况,你可以积极地确认消息并将其发布到队列中,并更新字段。发布消息会把它放在队列的末尾,因此你可以在一段时间后处理它。

参考资料 https:/www.rabbitmq.comnack.html

© www.soinside.com 2019 - 2024. All rights reserved.