AWS Lambda在成功和超时之间交替

时间:2018-06-15 20:03:38

标签: amazon-web-services aws-lambda

我目前正在aws lambda上运行一个函数。奇怪的是,每次成功执行后,如果再次运行它将导致超时。每次运行后,当我再次运行测试时,它就会成功。

当函数导致超时时,lambda似乎没有做任何事情。我在我的函数中放了一些console.log,但没有打印出来。

我的功能通常可以在30秒左右完成,所以超时60秒对我来说似乎很奇怪。

有谁知道会发生什么?

错误讯息: enter image description here

我的日志: enter image description here

这是我的功能代码:

$.jQuery(

2 个答案:

答案 0 :(得分:1)

使用puppeteer-lambda打开浏览器时存在已知问题,关闭它然后再打开它。

您所看到的是Lambda的第二次调用失败,因为它与第一次“成功”调用在同一容器中运行。

那为什么第三次试用呢?因为Lambda的第二次调用由于超时而被终止,可能伴随着导致错误的任何临时信息。

您可以尝试在呼叫处理程序之外实例化浏览器,并且永远不会关闭它,因此下次运行测试时可以使用它。我不知道是否会有任何时间出现问题。

答案 1 :(得分:0)

作为后续行动:

我发现成功的一种方式就像@K Mo建议的那样 - 永远不会关闭浏览器。但是,我的测试会执行登录到某些网站,并且重复使用相同的浏览器会导致行为不一致,因为第一次运行需要登录,而第二次运行则不需要登录。

我最终做的是使用puppeteer而不是puppeteer-lambda。我使用了来自https://github.com/Tchangang/puppeteer-lambda-launcher的插件来帮助我从s3存储桶配置和下载chrome。

感谢评论中的每个人的帮助!我的测试现在运行良好!