RabbitMq -> 确认工作已完成的分布式工作队列

RabbitMq -> Distributed Work Queue with confirms work has completed

RabbitMQ(从 c# 客户端调用)是否能够在队列上分发工作并允许发布者接收工作已成功处理的确认信息?

似乎不​​添加额外的队列应该是可能的,但除非我遗漏了什么acknowledgements/confirms不要告诉原始发布者消息已成功处理。所以它无法知道它的所有工作是否都已处理。

我目前正在使用标准的 rabbit c# 客户端,但我知道 easynetq 也非常成熟,因此对于实现此目的的好方法的建议将不胜感激。

不,RabbitMQ 中绝对没有任何东西可以做到这一点。您从 RabbitMQ 得到的最多信息是确认消息已发送给工作人员,您可以将其解释为 "someone started work on the task"。您的工作人员将需要找到一种方法将任务结果返回给调用者,这很可能是另一种交换队列机制,但您的工作人员更有可能将任务结果放入 Redis 或数据库中,并且如果编写得当,甚至可以通过相同的方式传达故障代码。