我有运行Puppeteer的Lambda函数。一切正常,并返回我想要的。但是在返回结果后,Lambda永远不会退出,并且会超时。我没有使用伪造的browser.close(),因为由于递归调用而导致无法打开1000个浏览器和页面。
这是我的处理程序:
import csv
import json
input_file = csv.DictReader(open("services.csv",'r'),delimiter=",")
payload = json.loads(bytearray(input_file))
print(payload["ServiceID"][0]["2665"])
>> TypeError: an integer is required
};
这是CloudWatch Log
答案 0 :(得分:0)
如果您不使用browser.close()
,则需要通过设置context.callbackWaitsForEmptyEventLoop = false
来启动功能。
这是因为默认情况下,lambda不会在callback
上退出,而是实际上要等到节点运行完它的任务列表后再运行。在您的lambda中,任务列表涉及等待pupetteer退出,这就是为什么您的lambda不会在callback