2017-05-17 25 views
1

ich diesen Fehler haben, während "Rohrleitungen", um eine Datei in Knoten:Node.js: Fehler ECONNRESET, während eine Datei kochend

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) 

Hier ist mein Code:

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); 

Ich habe versucht, Fehler zu fangen mit this oder this, aber es immer noch die gleichen. Dieser Fehler tritt nur beim Arbeiten mit kleinen Dateien (> 100 Zeilen) auf.

Ist es, weil, dass der Lesestrom vor dem Schreiben in der neuen Datei geschlossen wird?

Vielen Dank für alle Tipps & hilft!

Antwort

1

fand ich die Lösung! :)

Es war aufgrund meiner Converter param (csvtojson Modul), habe ich workerNum bis 4, stattdessen muss ich 1 setzen für den Umgang kleine Dateien.

workerNum: Anzahl der Worker-Prozesse. Der Worker-Prozess verwendet Multi-Cores zur Verarbeitung von CSV-Daten. Stellen Sie die Anzahl der Core-Dateien ein, um die Leistung beim Verarbeiten großer CSV-Dateien zu verbessern. Halten Sie 1 für kleine CSV-Dateien. Standard 1.

Here ist ein komplettes Tutorial über csvtojson Modul

Hoffe, es hilft anderen!

+1

Sie können nicht glauben, wie viel Zeit Sie mich gerettet. Tausend Dank –

Verwandte Themen