gpt4 book ai didi

python - 在 Pika/RabbitMQ 的 consumer_callback 中确认消息

转载 作者:太空宇宙 更新时间:2023-11-04 02:20:04 25 4
gpt4 key购买 nike

我有一个设置,我希望能够在 consumer_callback 中的几行之后确认 pika 消息,然后继续执行一些时间密集型任务。我已经编写了一些代码来执行此操作,但似乎只有在 consumer_callback 返回后才会发送确认。我将 pika 10 与 SelectConnection 结合使用。

我想知道是否有办法实现这一目标。目前我尝试过的方法是:

  • 在当前回调中做一个常规的ack->只有在回调返回后才会发送ack
  • 通过我专门为此案例创建的不同连接/ channel 进行常规确认 -> 失败并显示“未知交付标签”
  • 尝试通过 SelectConnection 上的 add_timeout 方法潜入回调,然后在 consumer_callback 返回后立即调用 -> 这不知何故打乱了队列通信,并且发生了非常奇怪的事情,所以我假设这不是正确的方式。

非常感谢任何帮助。也许我需要不同的连接类型?

最佳答案

升级到 Pika 0.12.0 并关注 the example in this code, or do something similar : link .

我使用不同的连接类型实现了这个例子,但你明白了。 Pika 的 ioloop 必须在一个线程中运行,而您的时间密集型任务可以在另一个线程中进行。


注意: RabbitMQ 团队监控 the rabbitmq-users mailing list并且只是偶尔在 StackOverflow 上回答问题。

关于python - 在 Pika/RabbitMQ 的 consumer_callback 中确认消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51844852/

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