据我了解,Node将会收到SIGTERM:
- 等待事件循环为空,所有异步代码完成
- 使用process.exit()退出
对此我有几个问题:
- 是否可以在SIGTERM之后将新事件添加到事件循环中?
- 所有触发事件的函数调用是否都有时间限制?如果一个电话要花几个小时才能完成? SIGTERM调用方还可以调用SIGKILL吗?
- 如果没有时间限制,也没有外部SIGKILL,可以确定在执行函数的过程中它永远不会退出吗?
- 常见的最佳做法建议在收到信号后关闭套接字连接(例如数据库)。如果异步操作依赖于这些打开的连接怎么办?例如,假设其中之一正在写入数据库。您什么时候关闭数据库连接?在SIGKILL上?