Django 芹菜任务在单独的服务器中



我们有两台服务器,服务器A和服务器B.服务器A专用于运行django Web应用程序。 由于有大量数据,我们决定在服务器 B 中运行芹菜任务。 服务器 A 和 B 使用公共数据库。任务在从服务器 A,webapp 在模型中保存后启动。如何在我的 django 项目中使用 rabbitmq 实现这个想法

您有 2 台服务器、1 个项目和 2 个设置(每个服务器 1 个(。

服务器 A(Web 服务器 + rabbit

(

服务器 B(仅对辅助角色celery(

然后,在这两个设置中设置代理 URL。像这样:

BROKER_URL = 'amqp://user:password@IP_SERVER_A:5672//'服务器 B 设置中将服务器 A 与服务器 A 的 IP 匹配。

目前,任何任务都必须发送到服务器 A 中的rabbit虚拟服务器/。

在服务器 B 中,您只需初始化celery工作线程,如下所示:

python manage.py celery worker -Q queue_name -l info

仅此而已。

说明djangorabbit发送消息以对任务进行排队,然后celery工作人员请求一些消息来执行任务。

注意:不需要在服务器 A 中安装rabbitMQ,您可以在服务器 C 中安装 rabbit,并在两个设置(A 和 B(的BROKER_URL中引用它,如下所示:BROKER_URL='amqp://user:password@IP_SERVER_C:5672//'

对不起我的英语。

问候。

相关内容

  • 没有找到相关文章

最新更新