【发布时间】:2016-06-19 07:34:58
【问题描述】:
感谢您对此的看法。
我有一个订阅 RabbitMQ 队列的节点应用程序。当它收到一条消息时,它会检查它是否有某些内容,然后将其保存到数据库中。
但是,如果消息缺少某些信息或尚未满足某些其他条件,我希望订阅者将消息发布回 RabbitMQ 队列。
我从逻辑上理解这只是连接到队列并发布消息,但它真的这么简单还是这是一种不好的做法或潜在的危险?
感谢您的帮助。
【问题讨论】:
-
当消息丢失某些东西时,然后发布到从它接收消息的同一个队列中?如果是这样,您可以将
autoack设置为false,除非您给予确认,否则该消息将从队列中删除。然后如果消息缺少某些东西,则没有确认,并且该消息将保留在队列中而不会被删除。如果消息是goo,给这个队列ack,然后这个消息将从队列中删除。 -
@zangw 是发布到它从中获取消息的同一个队列。 (这很难解释,但消息中有一个时间元素,所以它可能在 5 分钟内而不是现在有效)。
标签: node.js rabbitmq message-queue