Python 如何在多节点环境中无缝维护django芹菜的代码

Python 如何在多节点环境中无缝维护django芹菜的代码,python,django,celery,django-celery,celery-task,Python,Django,Celery,Django Celery,Celery Task,我有一个Django应用程序,它使用Django芹菜、芹菜和rabbitmq进行离线分布式处理 现在的设置是这样的,我需要在网络中的其他节点(不同于Django web应用的托管位置)运行芹菜任务(以及芹菜工人) 要做到这一点,据我所知,我需要将所有Django代码放在这些单独的服务器中。不仅如此,我还必须安装Django应用程序所需的所有其他python库 这样,我必须将所有django源代码传输到网络中所有可能的服务器,安装依赖项并运行某种更新系统,该系统将跨节点同步所有源代码 这是正确的做

我有一个Django应用程序,它使用Django芹菜、芹菜和rabbitmq进行离线分布式处理

现在的设置是这样的,我需要在网络中的其他节点(不同于Django web应用的托管位置)运行芹菜任务(以及芹菜工人)

要做到这一点,据我所知,我需要将所有Django代码放在这些单独的服务器中。不仅如此,我还必须安装Django应用程序所需的所有其他python库

这样,我必须将所有django源代码传输到网络中所有可能的服务器,安装依赖项并运行某种更新系统,该系统将跨节点同步所有源代码

  • 这是正确的做事方式吗?有没有更简单的方法 使芹菜工人在web应用程序服务器之外运行 Django代码的宿主位置

  • 如果真的没有其他方法,只能复制代码并在 所有服务器,是否有办法只复制 芹菜任务需求(将包括所有模型和视图-并非如此 小任务(也不是一项任务)


  • 对于这种类型的情况,我在过去制作了所有芹菜任务代码,我可以简单地
    rsync
    或以某种方式复制到我的工作节点。通过这种方式,您可以在单个项目中编辑芹菜代码,该项目可以在django和工作节点中使用


    总之,创建一个
    web应用芹菜任务
    项目,将其制作成一个可安装的egg,并拥有一个依赖芹菜任务egg的
    web应用
    包。

    你的意思是我应该创建一个包含我需要的所有模型类的egg文件吗?我想我还需要打包settings.py文件,因为任务将使用模型类与数据库对话,并且数据库配置详细信息仅在settings.py文件中提及,所以看起来您将有三个鸡蛋:web前端、芹菜任务和数据库模型。通过这种方式,您可以更新这些块的任何单个部分,而无需担心破坏其他项目或不必要地部署。