Amazon AWS 上的 Django + Celery - 使用单独的 EC2 实例作为工作线程

标签 django amazon-web-services celery

我有一个 Django 应用程序。我正在使用 Celery 在后台运行长时间运行的进程。应用程序和 celery worker 都在同一台机器上运行。

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

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

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

最佳答案

这不是 AWS 特有的。

你必须:

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

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

    关于Amazon AWS 上的 Django + Celery - 使用单独的 EC2 实例作为工作线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24329952/

    相关文章:

    python - django 在保留数据的同时将 OneToOneField 移动到外键

    python - aws cdk python 无法获取应用程序目标组

    python - celery 倒计时错误

    python - celery :启动时启动任务

    python - Django AbstractEmailUser 模型列不存在

    css - STATIC_ROOT 找不到我的静态文件

    django - django-ckeditor 上传图片的绝对路径

    amazon-web-services - 如何在 2 个不同的 AWS 组织中运行 aws-nuke

    node.js - 获取错误 AWS Lambda : EROFS: read-only file system, 打开 '/var/task/assets/docs.zip'

    django + celery + redis + postgres 挂了