Nodejs, поток fast-csv внезапно завершается без ошибок - PullRequest
0 голосов
/ 26 сентября 2019

Я использую fast-csv для потоковой передачи строк csv из csv из s3, как показано ниже.здесь csvReader на самом деле является быстрым считывателем csv, который требуется следующим образом: const csvReader = require ('../ fast-csv / build / src');

let csvReadStream = s3.getObject(s3FileParam).createReadStream().pipe(csvReader.parse({
    headers: true,
    ignoreEmpty: true
  }));

  csvReadStream.on('error', function (err) {
    console.error('Caught and error while streaming the file: ' + inputParams.s3FileLoc, err);
    setTimeout(function () {
      process.exit(1);
    }, 15000);
  });

  csvReadStream.on('end', function () {
    console.log('Finished streaming the file: ' + inputParams.s3FileLoc);
  });

 csvReadStream.on('data', function (csvRow) {
    queue.push(csvRow);
  });

очередь здесь - асинхронная очередь, к которой мынажимая каждую строку, обрабатывая максимум 1 строку в любое время.

Однако после обработки некоторых строк событие 'end' запускается без каких-либо ошибок в другом месте приложения, и поток, таким образом, заканчивается.Любые указатели / идеи будут чрезвычайно полезны

...