myo*_*yol 5 python header python-3.x pika
我正在使用修改 pika 标头
properties.headers = {
'myheader': myheader
}
Run Code Online (Sandbox Code Playgroud)
但我对 delivery_tag
channel.basic_nack(delivery_tag=delivery_tag, requeue=False)
Run Code Online (Sandbox Code Playgroud)
如何将带有标头的更新属性传递给 ack 和 nack 响应函数?或者这样做的 pika 方式是什么?
basic_nack无法更改标题是正确的。
执行此操作的方法不是NACK根本不使用,而是生成并返回“新”消息(这只是您正在处理的当前消息,但向其添加新标头)。
看起来 aNACK基本上是根据 AMQP 规范来执行此操作的。
所以我的逻辑是在成功时使用basic_ack,并在失败时使用更新的标头生成消息。在我的例子中,我将新消息“重定向”到绑定了死信队列的死信交换。