gpt4 book ai didi

Twisted 和 Pika - 如何向消息确认调用添加回调?

转载 作者:行者123 更新时间:2023-12-05 07:57:31 24 4
gpt4 key购买 nike

我正在使用鼠兔的 twisted protocol adapter .成功处理消息后,我使用此调用向 RabbitMQ 发送确认:

channel.basic_ack(delivery_tag=delivery_tag) 

basic_ack 调用似乎是异步触发的,但它没有返回延迟,所以我无法添加回调或 errback。我现在遇到了一个小问题,因为我想等待队列中的某个消息,处理它并关闭 react 器,即

channel.basic_ack(delivery_tag=delivery_tag)
reactor.stop()

当然, react 器会在消息发送前关闭。我正在通过延迟关机来解决这个问题

channel.basic_ack(delivery_tag=delivery_tag)
reactor.callLater(5, reactor.stop)

但这似乎是一种非常“hacky”的做法。我希望能够做类似的事情:

d = channel.basic_ack(...)
d.addBoth(lambda x: reactor.shutdown())

我在这里遗漏了什么明显的东西吗?真的不可能将回调链接到 ack 调用的末尾吗?

最佳答案

所以看起来唯一的选择就是等待并希望确认发送成功

关于Twisted 和 Pika - 如何向消息确认调用添加回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26952002/

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