首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RabbitMQ如何一次只有一条消息而不请求失败

问RabbitMQ如何一次只有一条消息而不请求失败
EN

Stack Overflow用户
提问于 2022-02-25 21:25:39
回答 1查看 596关注 0票数 1

我们的系统有一群使用者,他们使用兔子来为长期运行的任务使用消息。目前,我们在处理结束时进行编码,这样如果使用者崩溃,消息就会被请求。我们想要的是,使用者一次只处理一条消息,而不预取一条消息,这样另一种使用者就可以处理下一条消息,如果出现崩溃,我们就没有请求,但是我们有自己的监视器,它将决定我们是否需要在更大的EC2实例上重新运行。看起来,我们可以在处理开始时以1的预取来接近这一点,但是队列中仍然有一条消息可以由另一个使用者处理。显然,根据兔子开发者的说法,将预取设置为0是没有意义的(我不明白为什么),所以另一种选择是只在完成时才继续进行预取,这样就不会发生预取,但在崩溃时却不知何故不需要。

如果我们正游向上游,那么我知道我们必须想出另一个计划,但我不明白为什么消费者一次只做一件事情(而不是预购下一件工作)和不要求坠机的愿望是如此的奇怪。

EN

回答 1

Stack Overflow用户

发布于 2022-03-01 18:44:40

考虑使用RabbitTemplate、receive()或receiveAndConvert方法之一;这是这种工作负载类型的更好的模型--根据需要获取记录,而不是将它们推送到应用程序中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71271870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档