gpt4 book ai didi

node.js - 连接池和 lambda 终止

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:13 25 4
gpt4 key购买 nike

我一直在研究无服务器和 postgresql。看起来连接池是可能的,但是当我在外部声明到我的 postgresql 实例的连接池时:

var pool = new pg.Pool(config);

在请求处理程序末尾不调用 pool.end() 似乎会导致 lambda-local 在调用它时不会终止。

如果我调用 pool.end() lambda-local 确实会终止,但我想知道这是否意味着该函数将停止工作?

如果我不调用 pool.end(),该函数是否会在 AWS 上永远运行,从而花费我很多钱?

最佳答案

这是因为默认情况下,lambda 回调在“卡住进程”之前等待空事件循环 doc

您可以通过将 context.callbackWaitsForEmptyEventLoop 设置为 false 来更改此行为。在后续调用中,如果发生“热启动”,您的 lambda 应该能够重用该池。

您可以使用middy middlewareserverless plugin预热您的 lambda 并防止冷启动。

而且 lambda 永远不会永远运行,每个请求的最大执行持续时间为 300 秒 doc当然,您可以设置自己的(较低的)超时。

话虽如此,这是一条危险的道路,应谨慎使用。

关于node.js - 连接池和 lambda 终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48418581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com