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

142
Vistas
Se encuentra con un error de EMFILE al usar jsmediatags

Uso jsmediatags para leer etiquetas de una gran cantidad de archivos (> 20.000). Mi código arroja un error EMFILE (ERROR fs Error: EMFILE: demasiados archivos abiertos, abrir "ruta al archivo") porque excedo la cantidad máxima de archivos abiertos. No puedo usar nada como graceful-js, porque fs está integrado en el módulo. Entonces mi pregunta es: ¿Cómo evito el error EMFILE?

Puedo pensar en 2 formas: usar algo para leer solo lotes de datos a la vez o reemplazar de alguna manera la dependencia fs con graceful-js. Sería muy útil si alguien pudiera indicarme la dirección correcta.

 var addToDatabase = (files) => { for(let i=0;i<files.length;i++){ if(files[i].endsWith(".mp3")){ new jsmediatags.Reader(files[i]) .setTagsToRead(["title", "track", "artist", "album", "year"]) .read({ onSuccess: function(tag) { database.insert({path: files[i], title: tag.tags.title, track: tag.tags.track, artist: tag.tags.artist, album: tag.tags.album, year: tag.tags.year}); }, onError: function(error) { console.log("ERROR", error.type, error.info, files[i]); } }); } } } require('node-dir').files(_some_dir, function(err, files) { if (err) dispatch(rebuildDbRejected("ERROR while reading the database directory")); addToDatabase(files); });
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Modifiqué el NodeFileReader de jsmediatags y ahora parece funcionar.

 const fs = require('fs'); //added these lines var gracefulFs = require('graceful-fs'); gracefulFs.gracefulify(fs);
over 4 years ago · Santiago Trujillo 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