Django+;AmazonAWS上的芹菜-使用单独的EC2实例作为辅助对象

Django+;AmazonAWS上的芹菜-使用单独的EC2实例作为辅助对象,django,amazon-web-services,celery,Django,Amazon Web Services,Celery,我有一个Django应用程序。我使用芹菜在后台运行长时间运行的进程。应用程序和芹菜工人都在同一台机器上运行 现在我们正在将服务器迁移到AWS。在AWS上,我们希望创建如下设置: 我们有n个运行应用服务器的EC2实例,有m个EC2实例作为worker。当我们需要执行一个长时间运行的流程时,appserver将此作业发送给worker,worker处理该作业。但这项工作依赖于Django模型和数据库 我们如何设置工人,使他们能够运行这些依赖于django模型的作业?这不是AWS特有的 你必须: 确保

我有一个Django应用程序。我使用芹菜在后台运行长时间运行的进程。应用程序和芹菜工人都在同一台机器上运行

现在我们正在将服务器迁移到AWS。在AWS上,我们希望创建如下设置:

我们有n个运行应用服务器的EC2实例,有m个EC2实例作为worker。当我们需要执行一个长时间运行的流程时,appserver将此作业发送给worker,worker处理该作业。但这项工作依赖于Django模型和数据库


我们如何设置工人,使他们能够运行这些依赖于django模型的作业?

这不是AWS特有的

你必须:

  • 确保每台服务器都有相同版本的应用程序代码
  • 分布在服务器上的所有工作人员都使用相同的任务代理和结果后端
  • 工人可以连接到您的数据库(如果需要)

  • 更详细的配置建议需要更多信息:)

    另一种方法是使用EC2容器服务,使用两个不同的运行docker容器,一个用于应用程序,一个用于工作人员。

    好了,这似乎足够了,谢谢。我试图用更多的轻量级工作者来实现这一点,但他们至少需要像你建议的那样保留应用程序代码。我也有同样的情况,你的最终决定是什么?