RabbitMQ no ack usage
本文关键字:usage ack no RabbitMQ | 更新日期: 2023-09-27 17:57:47
我正在将RMQ集成到我的项目中,以便实现工作队列。
我知道如果模块成功了,它会调用ack方法,这样RMQ就会知道它
失败怎么办?
我读到只有当连接或通道关闭时,RMQ才知道我们失败了,并将消息重新推送到队列。
然而,每当我出现内部错误时,我都想让RMQ重新推送消息,无论我是否崩溃(例如,未能插入数据库,我可以优雅地处理而不会崩溃,但我希望重新尝试整个工作)。
我必须手动关闭并再次打开通道才能触发吗?
您可以使用否定ACK或拒绝。此处提供信息。
AMQP规范定义了允许客户端拒绝个别传递的消息,指示经纪人要么丢弃它们,要么重新排队。