2011-07-26 28 views
1

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

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

  2. 当文件被上传产卵一个新的PHP过程,其处理该图像,然后死亡。

  3. 使用像lightspun第三方服务(他们此刻不接受客户。是否有其他类似的服务?)

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

+0

https://github.com/eahanson/imageproxy – hakre

回答

3

我会去你的第一选择,因为这将是更可靠,更意味着你可以做后台工作,而采取前端向下。

它也可以比较优雅地缩放,因为如果队列变得极端,您可以将它移动到另一台服务器。

+0

同意,使用SQS + EC2这种队列+工作者方法便宜且易于扩展。 –

1

你的第一个想法听起来不错,原因已经说过,处理用户时间的负担,你可以添加更多的图像大小等,而不会伤害用户experience.i已经有了很好的结果使用命令行图像magick工具进行图像处理并且在使用其fork分支的长时间运行过程中使用php有一些运气。 http://php.net/manual/en/function.pcntl-fork.php