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

287
Vistas
La compilación de React js falla cuando más de 20 usuarios acceden al mismo tiempo con un error Error: EMFILE: demasiados archivos abiertos

La compilación de producción de mi aplicación de reacción se ejecuta en un servidor de Windows 2019, con Intel Xeon 6204R CPU de 4 núcleos y 16 Gb de RAM. La aplicación funciona bien, pero si más de 20 usuarios usan la aplicación al mismo tiempo, se bloquea con un error:

Error: EMFILE: demasiados archivos abiertos, abra 'C:\ess\build\index.html'

Imagen de error que recibo mientras la compilación de reacción falla.

No puedo entender si este error se debe a alguna limitación de nodo o si en Windows tengo que cambiar alguna configuración o si mi código de reacción no está optimizado o abre archivos innecesarios.

correcciones que he intentado-
1- creó un servidor de nodo propio para servir la compilación de reacción en lugar del paquete de servicio.
2- Monkey parcheando el módulo fs del nodo js con el módulo graceful-fs.
3- Intenté agregar el vigilante que aún no funciona.

Monkey-Patching que he hecho en mi archivo server.js-

 const fs = require('fs') const gracefulFs = require('graceful-fs') gracefulFs.gracefulify(fs);

Traté de probarlo con otros ejemplos de código.

Monkey-parcheo para fs.readFile funciona bien.

 for (x = 0; x < 10000; x++) { fs.readFile('testfiles/' + x, 'utf8', (err, data) => { data && console.log('reading file', data); err && console.log(err?.toString()); }) }

pero para fs.open sigue recibiendo el mismo error después de 8188 archivos.

 for (x = 0; x < 10000; x++) { fs.open('testfiles/' + x, 'rs+', function(err, fd) { fd && console.log('reading file', fd); if(err && i==0){ console.log('here', err?.toString()); i++; } }); }

Error: EMFILE: demasiados archivos abiertos, abra 'C:\ess\testfiles\8189'

También traté de encontrar una alternativa ulimit de Linux en Windows, pero aún no puedo encontrarla.

about 4 years ago · Juan Pablo Isaza
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