¿La función node.js ejecuta en el proceso hijo?

Tengo una aplicación node.js que recibe un archivo, a través de una solicitud web y luego aplicaré un proceso de conversión a este archivo. Dado que la tarea es de larga ejecución, esto necesita ejecutarse por separado al hilo principal.

En este momento acabo de llamar el código necesario a través de una setTimeout() a setTimeout() . Para aislar la aplicación principal del proceso de conversión, me gustaría moverla a un proceso secundario, ya que se está ejecutando durante mucho tiempo y me gustaría aislar el código principal del trabajo que se está realizando (¿me estoy preocupando demasiado?). Por el momento estoy llamando:

 const execFile = require('child_process').execFile; const child = execFile('node', './myModule.js', (error, stdout, stderr) => { if (error) { throw error; } console.log(stdout); }); 

¿Es este el enfoque correcto en node.js, o simplemente se está iniciando un proceso secundario con el módulo y los parámetros especificados, pero no tiene que especificar ‘nodo’ como el ejecutable?

Acabo de ver que node.js proporciona la función ‘fork’, para ejecutar módulos, aunque tendrán que escribirse como si esperaran argumentos de línea de comando, procesando la matriz process.argv.

La llamada de comando es:

 child_process.fork(modulePath[, args][, options]) 

Más detalles aquí .

En mi caso específico, forking probablemente no tenga sentido, ya que la biblioteca node.js ya estoy utilizando una bifurcación.