node.js在subprocess中运行函数?

我有一个node.js应用程序通过Web请求接收文件,然后将转换过程应用到此文件。 由于任务长时间运行,因此需要单独运行到主线程。

目前,我通过setTimeout()调用来调用必要的代码。 为了将主应用程序与转换过程隔离起来,我想将其移出到一个subprocess中,因为它运行时间很长,我想将主代码与正在执行的工作分开(我担心的太多了?)。 目前我正在打电话:

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

这是在node.js正确的方法,或者是有一个简单的开始一个subprocess与指定的模块和参数,但不必指定“节点”作为可执行文件?

刚刚看到,node.js提供了fork函数,用于执行模块,尽pipe它们需要被写入,就好像它们正在等待命令行参数一样,处理了process.argv数组。

命令调用是:

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

更多细节在这里 。

在我的具体情况下分叉可能没有意义,因为已经有一个由我正在使用的node.js库创build的分支。