如何实现高性能的高性能批量转换?

时间:2015-03-24 14:17:38

标签: php linux cron command-line-interface batch-processing

我目前正在使用使用LFTP的Cronjob(PHP CLI)将服务器A到服务器B的某些文件同步,并将其日志写入特殊的mysql表。我同步的图像是tiff文件。

我使用ImageMagick将这些图片转换为一些预览png图片,其中包含一些额外内容(水印,调整大小,剪切路径和嵌入颜色配置文件)
完整命令here


那么"最好的&#34>怎么样?以最佳方式转换超过100个(有时有10个 - 有时有250个以上)图像的方式?

我的脚本应该是安全的 - 所以每个tiff文件总是有网络预览。所以我检查所有图像,如果每个图像都有预览png - 如果没有 - 生成它们!

我没有用代码重载此帖子,所以这里是 gist

该脚本将以php-fcgi作为简单的cron运行。

这个脚本现在很慢"慢"。一个ImageMagick命令大约需要1-2秒 - 有时超过15秒(大文件,复杂路径)。 - 任何shell_exec在完成命令时保存脚本。

是否有某种方法可以提高效率?

注意:我无法在服务器上安装额外的软件。

1 个答案:

答案 0 :(得分:0)

如果您不需要立即使用图像,那么您可以将图像转换放入队列(类似Beanstalk)并让它处理长时间的密集操作。