【问题标题】:Scalable asynchronous image resizing可缩放的异步图像大小调整
【发布时间】:2011-07-26 00:03:10
【问题描述】:

我正在考虑一些在 PHP (CodeIgniter) Web 应用程序中处理图像大小调整的最可扩展方式的选项。我需要将图像调整为多种尺寸,然后将它们推送到 Amazon S3。所以这里是我到目前为止提出的选项:

  1. 上传文件后将其添加到队列中。有一个后台 PHP 或 Python(显然 PHP 不适合长时间运行的进程)程序不断运行,它查看并处理队列然后休眠 x 秒。

  2. 上传文件时会生成一个新的 PHP 进程,该进程会处理该图像,然后死掉。

  3. 使用像lightspun这样的第三方服务(他们目前不接受客户。还有其他类似的服务吗?)

也许我还没有考虑过更好的选择?

【问题讨论】:

标签: php python image codeigniter imagemagick


【解决方案1】:

我会选择你的第一选择,因为它会更可靠,并且意味着你可以在不关闭前端的情况下在后端工作。

它还可以更优雅地扩展,因为如果队列变得极端,您可以将其移至另一台服务器。

【讨论】:

  • 同意,使用 SQS + EC2 这种队列 + 工作人员方法既便宜又易于扩展。
【解决方案2】:

您的第一个想法听起来不错,原因已经说明,减轻了用户处理时间的负担,您可以添加更多图像尺寸等而不会损害用户体验。我使用命令行图像魔法工具进行图像处理和使用 php 在长时间运行的进程中使用它的 fork abilty 有一些运气。 http://php.net/manual/en/function.pcntl-fork.php

【讨论】:

    猜你喜欢
    • 2023-01-26
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2012-05-02
    • 2016-10-29
    • 1970-01-01
    相关资源
    最近更新 更多