公开生产Firebase函数中的垃圾收集(例如--Expose-gc)



我们希望从Firebase函数中运行global.gc()。在本地,我们使用node --expose-gc ...启动节点进程。我们如何使用部署的Firebase函数来实现类似的功能?

据我所知,当Firebase函数启动时,没有办法注入node --expose-gc。此外,在Firebase Function启动节点之前,似乎无法设置NODE_OPTIONS="--expose-gc

我们已经尝试从Firebase函数中设置process.env.NODE_OPTIONS='--expose-gc'。然而,这是行不通的。我们假设不起作用的原因是必须在节点启动时(而不是在节点已经运行之后(设置--expose-gc

我不熟悉;Firebase函数";上下文是结构化的,但如果它只是一个普通的NodeJS上下文,则可以内联添加V8标志:

import v8 from 'node:v8';
v8.setFlagsFromString('--expose-gc');

无法为运行函数的节点进程指定任何命令行参数。这实际上是一个安全问题。只要GC必须通过命令行参数启用,那么使用云函数就不可能实现您想要做的事情。

考虑使用Cloud Run,它允许您以任何方式构建服务器映像,包括运行节点的参数。

相关内容

  • 没有找到相关文章

最新更新