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

Ben*_*age 6 python django rabbitmq celery

我正在调整我的芹菜/ rabbitmq安装,我发现这篇文章:

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

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

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

Ben*_*age 6

因此,请回答我自己的问题:当前没有文档。

也就是说,我在整个上午的大部分时间里都在挖源代码,并在这里找到了答案:

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

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