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

时间:2013-06-24 05:52:36

标签: python django celery django-celery celery-task

我有一个Django应用程序,它使用django-celery,celery和rabbitmq进行离线,分布式处理。

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

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

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

  1. 这是正确的做事方式吗?有没有更简单的方法 使芹菜工作者在Web应用程序服务器之外运行 Django代码托管在哪里?

  2. 如果确实除了复制代码和复制之外别无他法     所有服务器,有没有办法只复制其中的源文件     芹菜任务需求(包括所有模型和视图 - 不是这样)     小任务也是)

1 个答案:

答案 0 :(得分:1)

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

总而言之,创建一个web-app-celery-tasks项目并将其制作成可安装的鸡蛋,并拥有一个web-app包依赖于芹菜任务蛋。