我正在和Celery一起使用Django-kombu,但是在很少的地方读过它并没有准备好生产。
基本上,我想使用Celery创建一个多主机 - 多个从机架构,并在它们之间传递消息,然后返回执行调用的主程序。
我无法理解Kombu在哪里适合。为什么不用RabbitMQ?这些教程都非常混乱,一个人提出了一些建议而另一个人提出了其他建议。
有人可以让我更清楚地了解生产堆栈在处理Celery + Django时的样子吗?
另外,我是否必须使用Dj-Celery?
答案 0 :(得分:2)
kombu的稳定版本已准备就绪,芹菜也是如此。
kombu负责消费者,生产者和消息代理之间的整个消息传递,这些消息传递依次是芹菜工作者,网络工作者(或更多通常将任务放入队列的脚本)和您正在使用的消息代理。
你需要kombu来运行芹菜(如果你看看它的设置,它实际上是在要求中)
使用kombu你可以使用不同的消息代理(rabbitmq,redis ......)所以选择不是使用kombu或rabbitmq,因为他们做不同的事情,但在kombu和redis或kombu和rabbitmq等之间等。
如果您使用redis作为消息代理,则只需安装: celery-with-redis和django-celery包装