我正在考虑调整芹菜/ 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确认在芹菜中发布的正确方法是什么?所述功能的文档在哪里?
答案 0 :(得分:4)
所以回答我自己的问题:目前没有文件。
那就是说,我在早上的大部分时间都挖了源代码并在这里找到了答案:
py-amqp
是芹菜最终使用的库(通过kombu - 这里有两个人包!)。 py-amqp
读取该设置,并在设置confirm_publish
选项时等待。这有效地使排队过程同步。
答案 1 :(得分:2)
confirm_publish
库https://github.com/celery/py-amqp使用 py-amqp
选项
它强制发布阻止连接,直到从RabbitMQ收到确认。
RabbitMQ确认在此处描述:https://www.rabbitmq.com/confirms.html