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

236
Vistas
¿Ejecutando el código pesado de la CPU de Node js en un hilo separado con el clúster?

Tengo una clase con una función que resultó ser bastante intensiva en CPU y estoy tratando de determinar la mejor manera de separar esto en otro subproceso. Usé el siguiente código para probar esto, pero no estoy seguro de si esta es la mejor manera de lograrlo. En última instancia, me gustaría tener una clase con una función pesada de CPU y poder elegir ejecutarla en un subproceso separado.

Mi código de trabajo:

 var cluster = require('cluster') if (!cluster.isMaster) { // cpuHog is only called inside the child process console.log(`Worker is listening on pid:${process.pid}`); process.on('message', (input) => { console.log(`Request receved for input ${input}`) cpuHog(input).then(output => process.send(output)) }) return; // exit if child } function cpuHog(input){ return new Promise( (resolve)=> { setTimeout(()=> {resolve(input*input)},2000) }) } function createSeparateThread(input){ return new Promise((resolve,reject) => { var worker = cluster.fork() worker.on('message', resolve); worker.send(input) }) } var input = 5 createSeparateThread(input).then( output => console.log(`Received result is ${output}`)) // My normal async node js code...

Entonces, si el código anterior está bien, ¿cómo lo traduzco a una instancia de clase?

 var myClass = new MyClass() // this should start a new thread myClass.createSeparateThread(5)
over 4 years ago · Santiago Trujillo
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