javascript - NodeJs csv module - pause & resume -
i using nodejs csv module parse 10000 record big csv , @ each record i.e., .on('record', func), have implement time consuming logic. node doesnt wait till done. how handle this? docu talks http://www.adaltas.com/projects/node-csv/ pause() , resume(). use it?
var csv = require('csv'); var fs = require('fs'); csv() .from.stream(fs.createreadstream(__dirname+'/sample.in')) .to.path(__dirname+'/sample.out') .transform( function(row){ row.unshift(row.pop()); return row; }) .on('record', function(row,index){ //time consuming logic goes here }) .on('end', function(count){ console.log('number of lines: '+count); }) .on('error', function(error){ console.log(error.message); });
i got working. node-csv developer
//read through csv file 1 row @ time csv() .from(__dirname+'data.csv', { columns: true }) .transform(function(row, index, next){ settimeout(function(){ console.log(row); next() }, 3000); //replace settimeout fn , call next() in callback }, {parallel: 1}) .on("end", function (count) { var finalcount = count; var logtext = 'summary: total count: ' + finalcount + '\n' + 'error count:' + errorcount + "("+errorarray+")" + '\n' + 'success count:' + successcount; fs.appendfile(config.logfilename, '\n'+ logtext, function (err) { console.log(logtext); }); console.log("done", count); });
Comments
Post a Comment