Сценарий моего Node.js из-за возникшей ошибки ENOMEM (Out of memory) errnoException при использовании spawn.Node.js улавливает ошибку ENOMEM, сброшенную после появления.
Ошибка:
child_process.js:935
throw errnoException(process._errno, 'spawn');
^
Error: spawn ENOMEM
at errnoException (child_process.js:988:11)
at ChildProcess.spawn (child_process.js:935:11)
at Object.exports.spawn (child_process.js:723:9)
at module.exports ([...]/node_modules/zbarimg/index.js:19:23)
Я уже использую слушатель для события error
и exit
, но не из них увольняет в случае этой ошибки.
Мой код:
zbarimg = process.spawn('zbarimg', [photo, '-q']);
zbarimg.on('error', function(err) { ... });
zbarimg.on('close', function(code) { ... });
Полный исходный код available.
Есть ли что-нибудь, что я могу сделать, чтобы предотвратить сбой скрипта? Как поймать заброшенную ошибку ENOMEM?
Спасибо!
У вас есть пример изображения, которое может использоваться для репликации вопроса? – mscdex
Это происходит, когда сервер не имеет памяти и не может быть воспроизведен с определенным изображением. Это затрудняет тестирование: -/ – tobi
Что вы делаете внутри обработчика 'error'? – mscdex