我有一个 Django 应用程序,它使用 django-celery、celery 和 rabbitmq 进行离线分布式处理。
现在设置是这样的,我需要在网络中的其他节点(与托管 Django Web 应用程序的位置不同)中运行 celery 任务(进而运行 celery 工作人员)。
为此,据我了解,我需要将所有 Django 代码放在这些单独的服务器中。不仅如此,我还必须安装 Django 应用程序所需的所有其他 python 库。
这样,我必须将所有 django 源代码传输到网络中所有可能的服务器,安装依赖项并运行某种更新系统,它将跨节点同步所有源。
这是正确的做事方式吗?有没有一种更简单的方法可以让 celery 工作人员在托管 Django 代码的 Web 应用程序服务器之外运行?
如果确实除了复制代码并在所有服务器中复制之外别无他法,有没有办法只复制 celery 任务所需的源文件(这将包括所有模型和视图 - 也不是那么小的任务)