Есть ли какие-то ограничения на количество созданных файловых потоков? У меня идет рекурсивный обход вложенных директорий и для каждого файла я считаю md5 hash. Делаю это так:
// Создать объект для расчета контрольной суммы
var retHash = crypto.createHash('md5');
// Создать поток для чтения файла
var rs = fs.createReadStream(filepath);
// Вещаем обработчик на чтение данных из файлового потока
rs.on('data', function (data) {
retHash.update(data);
});
// Вещаем обработчик на окончание чтения данных из файлового потока
rs.on('end', function () {
// Вызвать функцию обратного вызова и вернуть результат
_retResult(null);
});
Однако получаю ошибку если файлов в директориях много (у меня около 8 тыс)
Код:
|
events.js:72
throw er; // Unhandled 'error' event
^
Error: EMFILE, open 'D:\Apps\OpenServer\domains\shasoft-cms.ru\.share\icons3\16x16\routing_go_straight_right.png' |
Если я закоментирую код для расчета md5, то ошибка пропадает. В связи с этим и возник вопрос.
Возможно есть какое-то ограничение на количество открытых файловых потоков и просто получается превышение лимита?