Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

113
Vistas
Nodo readFile dentro de un desbordamiento de memoria de bucle

Tengo una carpeta con 98 archivos .csv que necesito leer y guardar en una base de datos de Postgres. Estoy ejecutando este código:

 // Files in folder const filesInFolder = fs.readdirSync('../pages-csv'); for (let i = 0; i < filesInFolder.length; i++) { console.log(`Saving file ${filesInFolder[i]}`) await fs.promises.readFile(path.join(__dirname, `../pages-csv/${filesInFolder[i]}`), 'utf8').then(async (data) => { await createOne(data) // database function }) }

Pero conduce a este error:

ERROR FATAL: Marca-compactos ineficaces cerca del límite de almacenamiento dinámico Falló la asignación: almacenamiento dinámico de JavaScript sin memoria

Parece que los archivos no se cierran o no se borran de la memoria después de insertarlos en la base de datos.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

¿Has probado a transmitirlo? Algo como:

 var csv = require('csv-parser') var data = [] for (let i = 0; i < filesInFolder.length; i++) { console.log(`Saving file ${filesInFolder[i]}`) enter code here // add the 'file path here' fs.createReadStream(filesInFolder[i]) .pipe(csv()) .on('data', function (row) { createOne(row) }) .on('end', function () { console.log('End cvs') }) }

O tal vez haya una forma de borrar la recolección de basura: global.gc(), después de exponerlo: node --expose_gc

about 4 years ago · Juan Pablo Isaza Denunciar

0

Encontré el problema, era la función createOne , tenía un bucle forEach, lo eliminé y ¡ahora funciona!

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda