Javascript AWS Lambda在执行函数时中途停止
我尝试执行从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
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
//...