RabbitMQ no ack usage

本文关键字:usage ack no RabbitMQ | 更新日期: 2023-09-27 17:57:47

我正在将RMQ集成到我的项目中,以便实现工作队列。

我知道如果模块成功了,它会调用ack方法,这样RMQ就会知道它

失败怎么办?

我读到只有当连接或通道关闭时,RMQ才知道我们失败了,并将消息重新推送到队列。

然而,每当我出现内部错误时,我都想让RMQ重新推送消息,无论我是否崩溃(例如,未能插入数据库,我可以优雅地处理而不会崩溃,但我希望重新尝试整个工作)。

我必须手动关闭并再次打开通道才能触发吗?

RabbitMQ no ack usage

您可以使用否定ACK或拒绝。此处提供信息。

AMQP规范定义了允许客户端拒绝个别传递的消息,指示经纪人要么丢弃它们,要么重新排队。