小编blo*_*seo的帖子

AWS Lambda不会独立运行

我使用nodejs来使用AWS Lambda.

据我所知,lambda的每个函数都是在独立和并行的过程中处理的.

但是,以下示例显示的结果与我预期的不同.

// test.js
const now = new Date();

module.exports = () => {
    console.log(now);
};

// handler.js
const test = require('./test');

module.exports.hello = async (event, context) => {
    test();
    return {
        statusCode: 200,
        body: null
    };
};
Run Code Online (Sandbox Code Playgroud)

结果: 你好处理程序日志

按照我的意图,每个函数都是独立执行的,因此值console.log(now)应该始终是执行它的点.

但是,在实际日志中,值now是在第一次执行时连续记录的 - 而不是每个函数的执行.

5分钟后的日志值是相同的.但是,该值在12小时后发生了变化,但在此之后,它显示了同样的问题.

这个结果让我们认真考虑如何管理数据库连接.

每个lambda回收案例都有两个假设

如果lambda像test.js一样回收,

  • 更好地使用连接池
  • 还建议使用需要初始化的sequelize等orm

如果不,

  • 最好使用简单连接和常规查询来快速使用连接

我们怎样才能在最大性能范围内使用lambda?

我们如何解释上面的测试结果?

amazon-web-services node.js aws-lambda

3
推荐指数
1
解决办法
109
查看次数

标签 统计

amazon-web-services ×1

aws-lambda ×1

node.js ×1