2011-07-26 57 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