首页 > 解决方案 > AWS Lambda 在执行函数时中途停止

问题描述

我尝试执行从 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 在某个时间点停止并一直等到整个过程超时。我怀疑它之前就停止了,let browser因为在控制台日志上,我可以看到"opening up browser"但看不到"got 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
    //...

}

有没有人知道出了什么问题?

标签: javascriptamazon-web-servicesaws-lambdapuppeteer

解决方案


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


推荐阅读