Javascript AWS Lambda在执行函数时中途停止

Javascript AWS Lambda在执行函数时中途停止,javascript,amazon-web-services,aws-lambda,puppeteer,Javascript,Amazon Web Services,Aws Lambda,Puppeteer,我尝试执行从aws lambda上的两个不同文件导入的两个函数: const tag_test = require("./tag.js"); const login_logout = require("./login_logout.js"); exports.handler = async function(event, context) { await tag_test.tag(); await login_logout.login(); console.log("a

我尝试执行从aws lambda上的两个不同文件导入的两个函数:

const tag_test = require("./tag.js");
const login_logout = require("./login_logout.js");

exports.handler = async function(event, context) {
    await tag_test.tag();
    await login_logout.login();
    console.log("all tests done.");
}
第一个函数执行得很好,但在运行第二个函数时,lambda在某个点停止,并等待整个过程超时。我怀疑它就在
让浏览器
之前停止,因为在控制台日志中,我可以看到
打开浏览器
,但看不到
“得到浏览器”

}


有人知道哪里出了问题吗?

增加lambda超时。默认值为3秒。

已解决

这实际上是木偶演员兰姆达的问题。显然,您无法打开浏览器,关闭它,然后在AWS lambda上使用木偶演员lambda再次打开它。我在第一次测试中打开并关闭了一个浏览器,这就是为什么我的第二次测试卡在
let browser


为了解决这个问题,我让第一个测试返回浏览器并将其传递给第二个测试以供重用。

无论我如何更改超时,它仍然会在相同的位置停止。所以我认为这不是时间限制的问题
module.exports.tag = async() => {
    console.log("starting test 2");
    const puppeteer = require('puppeteer-lambda');

    console.log("opening up browser");

    let browser = await puppeteer.getBrowser(
        '--no-sandbox',  
        '--disable-gpu',
        '--single-process'
        );
    console.log("got browser");
    let page = await browser.newPage();
    console.log("got page");

    //my test
    //...