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

368
Vistas
¿Por qué el módulo de clúster de NodeJs no funciona?

Básicamente, estoy construyendo un servidor express y recientemente investigué el tema de escalar aplicaciones NodeJS. Una de las primeras cosas que vi fue el módulo de cluster incorporado para aprovechar todos los subprocesos del procesador de la máquina. Aquí está mi código de la implementación que he hecho:

 import cluster from "cluster"; import { cpus } from "os"; import dotenv from "dotenv"; dotenv.config(); import express, { Express } from "express"; import log from "./logger"; import database from "./database"; import router from "./router"; const app: Express = express(); // Middleware app.use(express.json()); app.use(express.urlencoded({ extended: false })); const port = <number>(<unknown>process.env.PORT); const host = <string>process.env.HOST; const numCPU = cpus().length; if (cluster.isPrimary) { for (let i = 0; i < numCPU; i++) { cluster.fork(); } cluster.on("listening", (worker) => { // Not printing anything console.log(worker.process.pid); }); cluster.on("exit", (worker, code, signal) => { log.error(`Worker ${worker.process.pid} died. Starting a new worker...`); cluster.fork(); }); } else { app.listen(port, host, () => { // Only prints this once. log.info(`Server ${process.pid} listening at http://${host}:${port}`); database(); router(app); }); }

El problema es que el bloque cluster.isPrimary nunca se ejecuta , lo que significa, por supuesto, que el clúster no bifurca ningún otro proceso. Sin embargo, cuando uso cluster.isMaster , todo funciona exactamente como se esperaba. Pero dado que isMaster está en desuso y se reemplaza por isPrimary, eso es lo que estoy tratando de usar, pero simplemente no funciona.

Soluciones que he probado que no funcionan:

  1. Elimine todos los procesos de nodo en mi máquina.
  2. Elimine todo de este archivo principal y deje solo la aplicación barebone y la configuración del clúster.

¿Qué estoy haciendo mal?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Lo más probable es que sea la versión del nodo que está ejecutando. isPrimary solo está disponible en las versiones 16+ y lo más probable es que tenga la versión LTS que es v14

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