HapiJS 启动更长的后台进程

Posted

技术标签:

【中文标题】HapiJS 启动更长的后台进程【英文标题】:HapiJS start longer background process 【发布时间】:2017-06-08 18:39:31 【问题描述】:

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

我需要以某种方式向用户返回作业 ID/会话 ID,异步运行作业,允许用户检查是否完成并在完成后重新路由...

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

【问题讨论】:

【参考方案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");

【讨论】:

酷,我试试这个。

以上是关于HapiJS 启动更长的后台进程的主要内容,如果未能解决你的问题,请参考以下文章

Linux后台进程

在后台运行我的应用程序更长的时间并获取信息

如何在 Powershell 中开始一个比它的父级寿命更长的后台作业?

python 守护进程

Linux中怎样用命令启动后台java进程

shell脚本让进程在后台运行以及进程后台转前台