确认芹菜发布的正确方法是什么?
What is the correct way to confirm a publish in celery?
我正在考虑调整我的 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 或 celery 找到有关此设置的任何文档时遇到问题。
使用 rabbitmq 在 celery 中确认发布的正确方法是什么?所述功能的文档在哪里?
confirm_publish
选项被 py-amqp
库 https://github.com/celery/py-amqp 使用
它强制发布阻止连接,直到收到来自 RabbitMQ 的确认。
此处描述了 RabbitMQ 确认:https://www.rabbitmq.com/confirms.html
所以回答我自己的问题:目前没有文档。
也就是说,我挖了大半个上午的源代码,在这里找到了答案:
py-amqp
是 celery 最终使用的库(通过 kombu——伙计们,这里有两个包!)。 py-amqp
读取该设置并在设置 confirm_publish
选项时等待。这有效地使排队过程同步。
我正在考虑调整我的 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 或 celery 找到有关此设置的任何文档时遇到问题。
使用 rabbitmq 在 celery 中确认发布的正确方法是什么?所述功能的文档在哪里?
confirm_publish
选项被 py-amqp
库 https://github.com/celery/py-amqp 使用
它强制发布阻止连接,直到收到来自 RabbitMQ 的确认。
此处描述了 RabbitMQ 确认:https://www.rabbitmq.com/confirms.html
所以回答我自己的问题:目前没有文档。
也就是说,我挖了大半个上午的源代码,在这里找到了答案:
py-amqp
是 celery 最终使用的库(通过 kombu——伙计们,这里有两个包!)。 py-amqp
读取该设置并在设置 confirm_publish
选项时等待。这有效地使排队过程同步。