• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

166
Views
¿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)
about 3 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error