У меня есть функция Lambda, которая запускает Puppeteer. Все работает нормально и возвращает то, что я хочу. Но после возврата результатов Lambda никогда не завершается, и у нее истекает время ожидания. Я не использую кукловоды browser.close () из-за предотвращения открытия 1000 браузеров и страниц из-за рекурсивных вызовов.
Это мой обработчик:
exports.handler = function (event, context, callback) {
const promises = [];
const records = event["Records"];
for (let record of records) {
const message = JSON.parse(record.body);
const promise = scrapper.parseEngine(message.commands, null, null, null);
promises.push(promise);
}
Promise.all(promises).then((data) => {
console.log('promise finished');
callback(null, data);
}).catch((err) => {
console.log('error', err);
callback(err);
});
};
а это журнал CloudWatch