Node.js:pipe道文件时错误ECONNRESET
我有这个错误,而“pipe道”节点中的文件:
events.js:160 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at exports._errnoException (util.js:1022:11) at Pipe.onread (net.js:569:26)
这是我的代码:
var json_file = fs.createWriteStream(jsonFile), processes = 0, read_ended_flag = false, converter = new Converter(params); let read_csv_file = fs.createReadStream(csvFilePath); // For each csv line, we get a json doc converter.on('record_parsed', jsonObj => { processes++; json_file.write(JSON.stringify(jsonObj) + '\n', () => { processes--; if(read_ended_flag && processes == 0){ json_file.end(); callback(); } }); }); converter.on('end_parsed', () => { read_ended_flag = true; }); read_csv_file .pipe(converter);
我试图用这个或这个来捕捉错误,但它仍然是一样的。 这个bug只有在处理小文件(> 100行)的时候才会出现。
是否因为在写入新文件之前closures了读取stream?
非常感谢任何提示和帮助!
我find了解决scheme! 🙂
这是由于我的转换器参数(csvtojson模块),我把workerNum到4,而不得不把1处理小文件。
workerNum:工作进程的数量。 工作进程将使用多核来帮助处理CSV数据。 设置为Core数量来提高处理大型csv文件的性能。 保留1为小csv文件。 默认1。
这是一个关于csvtojson模块的完整教程
希望它可以帮助别人!