画像ファイルに画像のある青色のピクセルが含まれているかどうかをチェックし、それらを数えてから結果を保存するかどうかをチェックするコードを取得しました。ImagemagickプロセスがLoopbackjsで永久にハングする
これはうまくいきますが、Imagemagickの多くのプロセスが永遠にサーバーに停止しているように見えて、非常に遅くなっているようです。
このコードを改善し、このトラブルを回避する方法はありますか?
module.exports = function (File) {
File.observe('after save', function countPixels(ctx, next) {
if (ctx.instance && !ctx.instance.blue_pixels) {
var exec = require('child_process').exec;
// Convert file to retrieve only blue pixels:
exec('convert ' + ctx.instance.path + ' -fx "u.b>(u.g+0.2)&&u.b>(u.r+0.2)&&saturation>0.6" -format "%[fx:mean*w*h]" info:',
function (error, stdout, stderr) {
if (error !== null) {
return next(error);
} else {
ctx.instance.blue_pixels = stdout;
File.upsert(ctx.instance);
}
});
}
next();
});
};
素晴らしい!素晴らしい仕事をしてくれました。すばやく答えを求めてくれてありがとう。 – F3L1X79