node.js在子进程中运行函数?

And*_*e M 6 javascript child-process node.js

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

目前我刚刚通过setTimeout()电话拨打了必要的代码.为了将主应用程序与转换过程隔离开来,我想把它移到子进程中,因为它长时间运行,我想将主代码与正在完成的工作隔离开来(我担心的太多了吗?).目前我打电话给:

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

这是node.js中的正确方法,还是简单地使用指定的模块和参数启动子进程,但不必将'node'指定为可执行文件?

And*_*e M 3

刚刚看到,node.js 提供了“fork”函数来执行模块,尽管它们需要像期待命令行参数一样编写,处理 process.argv 数组。

命令调用是:

child_process.fork(modulePath[, args][, options])
Run Code Online (Sandbox Code Playgroud)

更多详细信息请参见此处

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