Firestore读取脚本输出后仍需60-90秒才终止的原因排查
Firestore脚本进程延迟终止的原因
- @firebase/firestore v4.6.1的Node.js客户端默认会维持后台连接池和监听线程,用来做连接复用、心跳检测,以及支持实时数据监听功能。
- 当你的读取逻辑执行完(输出数据和"done"),这些后台资源不会立刻销毁。客户端会等60-90秒的超时时间,看看有没有新的Firestore请求进来——如果有,直接复用现有连接能提升性能;如果没有,超时后才会释放所有资源,让进程终止。
- 这种设计是为了优化重复请求的场景,但对一次性运行的脚本来说,就会出现进程挂着不结束的情况。
- 不想用
process.exit()的话,也可以主动调用Firestore实例的terminate()方法,手动关闭所有后台资源,进程会立刻终止,不用等超时。
内容的提问来源于stack exchange,提问作者danh
相关产品推荐
相关产品推荐

