首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何异步彻底关闭nodejs服务

如何异步彻底关闭nodejs服务
EN

Stack Overflow用户
提问于 2018-10-04 03:08:20
回答 1查看 701关注 0票数 0

我的NodeJS服务需要在用户点击ctrl-c或在Heroku上运行时完全退出(比如重新启动)。为了彻底关闭它,我需要执行一系列的async操作,比如向RabbitMQ发出一个“关机”事件(因此其他服务人员知道它已经消失了),干净地关闭数据库连接,并等待当前正在工作的进程完成。

我作为退出事件处理程序运行的任何代码都不能是异步的医生说

侦听器函数只能执行同步操作。Node.js进程将在调用“exit”事件侦听器后立即退出,从而放弃事件循环中仍排队的任何其他工作。

那么,既然如此,我如何干净地关闭我的服务器?

EN

回答 1

Stack Overflow用户

发布于 2018-10-04 03:35:32

这将处理ctrl-c

代码语言:javascript
复制
process.on("SIGINT", () => {
  setTimeout(() => {
    process.exit();
  }, 3000);
});

我不确定赫鲁库的一半问题,但我希望这至少有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52638398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档