我有从JPEG生成缩略图的代码。它从S3中提取图像然后生成拇指。
大约每3000个文件中就有一个看起来像这样。它分批发生。高分辨率看起来像这样,并且它们全部调整到低分辨率。调整大小时不会失败。我可以转到我的S3存储桶,看到原始文件确实完好无损。
我用Ruby编写了这段代码并将其移植到clojure,希望它能解决我的问题,但它仍然在发生。
什么会导致JPEG看起来像这样?
我正在使用像这样的标准图像复制代码
(with-open [in (clojure.java.io/input-stream uri)
out (clojure.java.io/output-stream file)]
(clojure.java.io/copy in out))
是否有任何方法可以检测转移在clojure中进展不顺利? ImageMagick的?还有其他命令行工具吗?
答案 0 :(得分:1)
我的猜测是它是两个可能的问题之一(你知道你的代码,所以你可以快速排除一个):
内存不足。如果整批处理一下子发生,那么在整个过程完成之前,可能不会发布前几批处理。
你的时间不多了。您可能正在达到脚本的最长执行时间。
在处理批次时实施一些日志记录可以告诉您问题何时发生以及当时的整体状态。