HapiJS开始更长的后台进程

时间:2017-06-08 18:39:31

标签: javascript php node.js hapijs

如何使用HapiJS实现对PHP exec类似的系统函数调用?用户提交需要在后台运行一段时间的处理作业。

我不知何故需要向用户返回作业ID /会话ID,异步运行作业,允许用户检查完成并在完成时重新路由...

我打赌有现成的解决方案,但我非常欢迎指向正确的方向。

1 个答案:

答案 0 :(得分:1)

查看节点的子流程文档:here

要执行您所描述的操作,我会在没有回调的情况下生成一个进程然后使用一个小技巧:尝试终止一个不运行的进程会导致错误see here

const exec = require('child_process').exec;

//Launch the process
const child = exec('ls');
const pid = child.pid;

//later in another scope when you are looking to see if it is running
try {
    process.kill(pid, 0);
}
catch (e) {
    console.log("it's finished");
}