快递的退出处理程序关闭所有打开的连接

时间:2016-09-30 16:33:23

标签: javascript node.js express server-sent-events

我有一个node-express应用程序和via node子进程我运行二进制文件并发出请求,这些请求将带回流数据,这些数据通过stdout.on('data')处理程序中的SSE发送到浏览器。我有一个child.on('exit')处理程序,每当二进制文件关闭时,退出处理程序被调用,我可以看到相应的exitCode,除此之外,我想关闭所有打开的连接,并使快递服务器不接受任何新请求并优雅地将其关闭。

有没有办法获取所有打开的连接并在退出处理程序中关闭它们。

1 个答案:

答案 0 :(得分:0)

app.listen返回一个包装的HTTP服务器,您可以在其上调用.close(),它将正常关闭打开的连接并停止允许传入连接。

类似的东西:

let server = app.listen(9000)
child.on("exit", () => server.close())