这个问题的重点是为由 cron 作业/作业队列引导的异步图像大小调整过程找到一个完美的解决方案。
图像正在上传并以原始大小保存在服务器上。调整大小过程会拾取它们,调整大小并将它们保存为两种新尺寸。对于这项工作,我将 Imagemagick 与以下设置一起使用 [nice -n 19 convert -density 500 "' . $fullpath . '"-resample ' . $dpi 。 ' "' . $destFolder . '/%d.jpg"']。 “nice”不会阻止命令使用 100% CPU。它所做的是说,如果任何其他进程需要 CPU,它将获得比“nice”进程更高的优先级。如您所见,这只是一些改进:( 因为我敢肯定,如果用户同时上传图片,服务器肯定会崩溃。
我的意图是通过服务器处理所有图像,而不是通过 Flash 或 Java 在本地处理。因此,如果我无法获得更多的服务器 CPU 和 RAM,我认为我需要通过 cron 作业实现一个异步调整大小的作业队列,该作业提供有限的 CPU 和内存使用。在处理图像时,用户会得到一个带有信息的缩略图,“您的图像将很快可用”,以阻止他再次上传相同的图像。这是我目前的基本想法。
我在 Debian Linux 服务器上为这个 Web 应用程序使用 PHP 框架。非常感谢任何有关此类 cron 作业/作业队列/实现想法的帮助、指导技巧或信息资源!!!
非常感谢!
干杯
汤米
最佳答案
我不知道现成的解决方案,但如果您可以制作一个可以从目录/数据库中选择和上传图像的 PHP 文件 - 您可以在 www.iron.io 上设置一个工作人员并完成此任务!
可能实现一个 REST API 来远程交互也是一个好主意。祝你好运!
关于通过 cron 作业/作业队列使用 ImageMagick 异步调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12455584/