确认在芹菜中发布的正确方法是什么



我正在考虑调整我的芹菜/兔子mq安装,我找到了这篇文章:

http://www.lshift.net/blog/2015/04/30/making-celery-play-nice-with-rabbitmq-and-bigwig/

它提到BROKER_TRANSPORT_OPTIONS = {'confirm_publish': True}如果您想保证消息传递(我这样做)进行设置。 我无法找到有关兔子或芹菜此设置的任何文档。

用兔子确认芹菜发布的正确方法是什么? 所述功能的文档在哪里?

所以回答我自己的问题:目前没有文档。

也就是说,我花了大半个上午挖掘源代码,并在这里找到了答案:

https://github.com/celery/py-amqp/blob/24df1032db4a566e165f736ccb6b4a15cc94bcaa/amqp/channel.py#L1770-L1776

py-amqp是芹菜最终使用的库(通过 kombu--两个包在这里深处! py-amqp读取该设置,并在设置confirm_publish选项时等待。 这有效地使排队过程同步。

confirm_publish选项由py-amqp库使用 https://github.com/celery/py-amqp它强制发布以阻止连接,直到收到来自 RabbitMQ 的确认。RabbitMQ 确认描述如下:https://www.rabbitmq.com/confirms.html

相关内容

  • 没有找到相关文章

最新更新