在node.js web应用程序上启动和监视进程

时间:2016-01-26 21:17:57

标签: javascript node.js process

我目前正在开发一个Web应用程序,它可以使用服务器上的命令行工具启动某种构建过程,该工具与我的应用程序中的持久模型相关。我使用child_process.spawn生成进程并监视构建工具的输出。

var command = spawn('command', args, {cwd: '/tmp'});
command("data", function(chunk) {
    debug('received chunk ',chunk);
});

当请求进入并等到它完成向客户端发送包含cli输出(大约300~500行)的响应时,启动进程只需要太长时间。

最好的方法是获取请求,生成进程,保存数据库中进程的链接并返回进程启动的响应。

然后,另一个请求可以询问进程的状态,到目前为止cli的输出,并将新创建的输出流式传输到客户端。有点像詹金斯确实处理构建。

我现在的问题是如何存储一个链接到我运行该进程的spawnd command变量,以及当来自客户端的另一个请求通过流式传输来为他提供块时,如何赶上该进程?

我使用loopback作为node.js后端和前端的角度。 我知道这听起来有点令人困惑,所以请随意提问。

0 个答案:

没有答案