Tho*_*ohn 6 django rabbitmq celery
我们有两台服务器,服务器A和服务器B.服务器A专用于运行django Web应用程序.由于大量数据,我们决定在服务器B中运行芹菜任务.服务器A和B使用公共数据库.在服务器A,webapp的模型中保存后保存任务.如何在我的django项目中使用rabbitmq实现这个想法
您有2个服务器,1个项目和2个设置(每个服务器1个).
服务器A(网络服务器+兔子)
服务器B(仅适用于工人的芹菜)
然后在两个设置中设置代理URL.像这样的东西:
BROKER_URL = 'amqp://user:password@IP_SERVER_A:5672//' 在服务器B设置中匹配服务器A到服务器A的IP.
目前,任何任务都必须发送到服务器A中的兔子到虚拟服务器/.
在服务器B中,您必须初始化芹菜工作者,如下所示:
python manage.py celery worker -Q queue_name -l info
Run Code Online (Sandbox Code Playgroud)
就是这样.
Sintesis:Django向Rabbit发送消息以排队任务,然后芹菜工人请求一些消息来执行任务.
注意:不要求RabbitMQ必须安装在服务器A中,您可以在服务器C中安装Rabbit,并BROKER_URL在两个设置(A和B)中引用,如下所示:BROKER_URL='amqp://user:password@IP_SERVER_C:5672//'.
对不起我的英语不好.
问候.
| 归档时间: |
|
| 查看次数: |
935 次 |
| 最近记录: |