python - Redis - Amazon EC2 上的 Celery 配置

标签 python django amazon-ec2 redis celery

我正在使用 Python、Django 和 MySql 开发 Web 应用程序。我在应用程序中有一项规定,用户可以上传 *.wmv 和 *.mov 文件,系统将处理这些文件并将其转换为 *.mp4。我使用的是单一服务器架构,但随着用户群的增长,视频转换消耗了 90% 的内存。我正在考虑使用 Amazon EC2 将视频转换/流媒体服务器移动到云端,以便使用 Redis 和 Celery 在不同的服务器上进行转换。我想知道 Redis - Celery 是否支持多层架构。如果有人成功地做到了这一点,请告诉我步骤。这将非常有用,因为我正在谷歌搜索但找不到任何支持文档。

最佳答案

如果您想使用 Celery 队列来处理您的作业,您需要:

  • 设置 rabbitMQ。您可以在现有主机或 EC2 实例上执行此操作
  • 设置 celery 。 Docs很好。
  • 根据需要设置 Redis。同样,文档很好
  • 配置您现有的服务器,使其能够与任务队列和 Redis 通信。基本上,调整 EC2 防火墙规则
  • 确保工作服务器可以看到这些文件。将它们上传到 S3 可能是将它们从云端来回转移的最简单方法
  • 更改您的网络服务器代码以触发 celery 任务来进行转换
  • 弄清楚转换完成后要做什么 - 如何让用户知道它已完成?
  • 去吧。

不要担心“n 层”等等 - 这是一个简单的设置,您可以按照文档在一天内开始。

关于python - Redis - Amazon EC2 上的 Celery 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9464038/

相关文章:

python - 使用 __dict__ 比较两个对象

python - Django 半填表格

javascript - AWS websocket 服务器 : 403 error when connecting from browser, 来自 Python

amazon-ec2 - casperjs/phantom.js 可以在 Amazon EC2 服务器上运行吗?

python - Fdist 和前 10 个功能词

python - 将矩阵声明为 np.float32(np.array())

django - 使用枚举作为选项获取选项显示值

python - Django:禁止用户编辑配置文件

powershell - 如何在 PowerShell 中使用公共(public) IP 地址将 EC2 实例启动到 VPC?

python - 在 Python 中, heapq.heapify 不像 sorted 那样将 cmp 或 key 函数作为参数