gpt4 book ai didi

message-queue - 如何在RabbitMQ中撤回消息?

转载 作者:行者123 更新时间:2023-12-03 23:42:24 26 4
gpt4 key购买 nike

我有一个类似于 RabbitMQ 的作业队列,并且在请求取消作业时,我想撤回尚未开始处理的任务(它们的消息尚未被确认),这对应于撤回这些消息来自它们被路由到的队列。

我还没有在 AMQP 或 RabbitMQ API 中找到这个功能;也许我搜索得不够好?或者我必须使用解决方法(这并不难,但仍然)?

最佳答案

我会通过让工作人员检查某种权威数据源来确定工作是否应该继续来解决这种情况。例如,工作人员会在数据库中检查作业的状态,以查看作业是否已被取消。

对于处理作业的速度可能比更新和读取权威存储的速度更快的场景,以速度换取其他特性的保证较少的数据存储可能很有用。

这方面的一个例子是使用 Redis 作为取消消息处理的存储,而不是像 MySQL 这样的关系数据库。 Redis 速度非常快,但对其持有的数据的保证较少,而 MySQL 慢得多,但对其持有的数据提供了更多的保证。

最后,与另一个来源检查是否处理消息的概念是相同的,但您实现的方式取决于您的特定场景。

关于message-queue - 如何在RabbitMQ中撤回消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3758576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com