Mejores Prácticas para Procesos
Los límites de procesos y workers protegen la seguridad y la estabilidad: inicia de forma segura, dimensiona los pools honestamente y apaga con gracia bajo las señales del orquestador.
Busca en todas las páginas de la documentación
Los límites de procesos y workers protegen la seguridad y la estabilidad: inicia de forma segura, dimensiona los pools honestamente y apaga con gracia bajo las señales del orquestador.
child_process o shell: true.spawn/execFile con arrays de argumentos sobre exec con shell. Elimina la inyección en entradas influenciadas por el usuario.shell: true con cadenas de usuario interpoladas. Bloqueador de revisión de código.maxBuffer conscientemente en execFile o evita las APIs con búfer para grandes salidas. Transmite con spawn en su lugar.exit o maneja error. Evita zombies y fugas de descriptores de archivo.postMessage.worker.on('error') y reinicia los workers del pool en caso de fallo. Evita que el pool se reduzca a cero silenciosamente.process.pid en logs estructurados. Depura qué worker manejó una solicitud.poolMax × workers × replicas. Mantente por debajo del máximo de conexiones de la base de datos.server.close() y espera pool.end() de la base de datos antes de salir. Cierra también los workers de BullMQ.unhandledRejection como fatal en las APIs de producción. Separa la política del SIGTERM elegante.exec(\git checkout ${branch}`)` con una rama controlada por el usuario: inyección de comandos.
Comienza con min(4, núcleos - 1) y perfila; depende de la carga de trabajo.
No en un VPS único; poco común dentro de pods de K8s donde el escalado de réplicas es suficiente.
PM2 añade recarga y monitoreo; aún implementa el cierre HTTP amigable con el drenaje en el código de la aplicación.
Posible, pero asegúrate de que los planificadores y cron no se ejecuten en cada worker sin elección de líder.
spawn('npm', ['run', 'build']) sin shell; multiplataforma con ruta npm documentada.
Prueba las rutas de spawn en CI de Windows si los desarrolladores usan sistemas operativos mixtos; documenta los casos especiales de .cmd.
Las librerías no deben llamar a process.exit; deben devolver errores a la orquestación de apagado de la aplicación.
child_process spawn ffmpeg CLI; worker_threads para cómputo puramente JS.
pool 10 × cluster 8 workers × 3 pods = 240 conexiones a la base de datos; verifica el límite.
kill -TERM <pid> mientras se realiza una prueba de carga con k6 o un bucle curl.
Versiones de la pila: Esta página fue escrita para Node.js 24.18.0 (LTS Activo), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 y NestJS 11.
Revisado por Chris St. John·Última actualización: 16 jul 2026