gpt4 book ai didi

javascript - 使用子进程在 node.js 中进行复杂的数据操作

转载 作者:搜寻专家 更新时间:2023-11-01 00:44:29 25 4
gpt4 key购买 nike

我是 node.js 的新手,在我将 Node.js 用于单页应用程序的位置。我不得不偶尔做一些非常复杂的数据操作(用于 AI 和统计功能)。这些服务是用 Python 编写的。我试图找出将这些计算移交给子进程的最佳方法,这样我的主线程就不会被阻塞,并且我可以使用大量可用的 python 库。

我需要能够将复杂的数据(JSON 对象很好)传递给子进程并接收复杂的输出(JSON 对象也是理想的)。引用Node.js math computation - child process and complex data? ,这对于使用 child_process.fork() 和 .send() 的另一个 node.js 进程来说已经足够简单了。

child_process.spawn()中有没有类似的方法?或者是否可以使用 .fork() 来执行 python 脚本。我所能弄清楚的是如何执行不允许但最简单的参数的系统命令。即使我可以发送数据,我也不清楚如何使用 .spawn() 接收数据。

我在 SO 上找不到这个答案,但我承认 node.js 对我来说是新的。

谢谢。

最佳答案

spawn 方法返回一个 ChildProcess 对象,它使您可以访问进程的标准输入和标准输出。

它看起来像这样:

var child = require('child_process').spawn('python', ['script.py']);
child.stdout.on('data', function(data)
{
response = JSON.parse(data);
console.log(response);
});
child.stdin.write(JSON.stringify(data));

关于javascript - 使用子进程在 node.js 中进行复杂的数据操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23526788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com