python - 确认 celery 发布的正确方法是什么?

标签 python django rabbitmq 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 中确认发布的正确方法是什么?所述功能的文档在哪里?

最佳答案

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

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

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

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

关于python - 确认 celery 发布的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35996065/

相关文章:

python - 如何在模板中显示递归数据?

python - 嵌套序列化器中的 Django Rest Framework 关系查询

python - 在创建方法 django rest 框架中引发错误

.net-core - .Net Core RabbitMQ/Masstransit 同一应用程序中每个可配置线程数有一个消费者

python - 如何使文本框成为选择字段?

python re.sub组: number after\number

python - 比较Python中不同格式的日期时间

rabbitmq - Spring AMQP + RabbitMQ 3.3.5 ACCESS_REFUSED - 使用身份验证机制 PLAIN 拒绝登录

java - 将所有类嵌套在单个公共(public)类中的优点和缺点

python - 导入和使用 keras/tensorflow 时出现 ModuleNotFoundError