Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django和芹菜-如何分发?_Django_Celery - Fatal编程技术网

Django和芹菜-如何分发?

Django和芹菜-如何分发?,django,celery,Django,Celery,我正在分发Django和芹菜 我用Django和芹菜创建了一个小项目。Django将要求芹菜工人处理数据库中的一些数据。然后将数据传回Django 我的想法是: Django堆栈安装在一台服务器上 一台服务器上的消息队列(RabbitMQ) 一台服务器上的芹菜工人 因此总共有3台服务器 然而,问题是芹菜必须使用来自Django的一些代码,例如模型,因为它访问模型。因此,还需要settings.py文件来了解哪些是服务器 这是否意味着对于#3,我需要在服务器上安装Django和芹菜,但禁用Djan

我正在分发Django和芹菜

我用Django和芹菜创建了一个小项目。Django将要求芹菜工人处理数据库中的一些数据。然后将数据传回Django

我的想法是:

  • Django堆栈安装在一台服务器上
  • 一台服务器上的消息队列(RabbitMQ)
  • 一台服务器上的芹菜工人
  • 因此总共有3台服务器

    然而,问题是芹菜必须使用来自Django的一些代码,例如模型,因为它访问模型。因此,还需要settings.py文件来了解哪些是服务器


    这是否意味着对于#3,我需要在服务器上安装Django和芹菜,但禁用Django并只运行芹菜?例如芹菜-A PROJECT_NAME worker-l INFO,但没有用于Django的Apache服务器?

    如果希望芹菜工人在不同的服务器上操作,则需要确保工人所需的所有资源都可以从该服务器访问

    例如,如果您有一个简单的任务,则只能将该任务所需的代码复制到服务器。如果您的工作人员需要任何其他资源,如其他代码、文件、数据库,则需要确保其具有访问权限

    实际上,如果您想让两台服务器处理相同的任务,则必须使用一个简单的web界面(如Flask)在服务器之间进行通信(并扩展队列的功能)。然后,您必须确保它们都使用相同的数据源

    考虑远程托管数据库,或者让远程服务器远程访问数据库。无论哪种方式,在服务器上运行的任何工作人员都需要访问数据库和完成任务所需的所有源代码。然后,您必须让两台服务器共享一个消息队列


    来源:

    如果芹菜工人需要使用Django的模型怎么办?我是否还需要为settings.py提取Django代码?您需要提取模型、设置并确保您的Django db可以从运行芹菜工人的服务器访问。换句话说,只需为Django项目导入整个文件夹(包括芹菜.py)就可以了,对吗?