Skrypt My Node.js ulega awarii z powodu wygenerowanego wyjątku errnoException ENOMEM (brak pamięci) podczas korzystania z spawn.Błąd Node.js Błąd ENOMEM zgłoszony po odrodzeniu
Błąd:
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)
już używam słuchaczy na imprezę error
i exit
, ale nie z nich wyrzucenie w przypadku tego błędu.
Mój kod:
zbarimg = process.spawn('zbarimg', [photo, '-q']);
zbarimg.on('error', function(err) { ... });
zbarimg.on('close', function(code) { ... });
Pełny kod źródłowy available.
Czy jest coś, co mogę zrobić, aby zapobiec zawieszaniu się skryptu? Jak złapać wyrzucony błąd ENOMEM?
Dzięki!
Czy masz przykładowy obraz, który może być używany do replikowania problem? – mscdex
Zdarza się, gdy serwerowi brakuje pamięci i nie można go odtworzyć przy użyciu określonego obrazu. To sprawia, że trudno przetestować: -/ – tobi
Co robisz wewnątrz programu obsługi "błędu"? – mscdex