У меня есть простая функция лямбда, которая асинхронно выполняет вызовы API, а затем возвращает данные. 99% времени это отлично работает. Когда API когда-либо занимает больше времени, а затем ждал лямбда-тайм-аут, он дает ошибку, как ожидалось. Теперь проблема заключается в том, что когда я делаю последующие вызовы функции лямбда, она навсегда дает мне ошибку тайм-аута.Функция AWS лямбда перестает работать после ошибки времени ожидания
"errorMessage": "2016-05-14T22:52:07.247Z {session} Task timed out after 3.00 seconds"
Для того чтобы проверить, что это было в случае я установить тайм-аут лямбда до 3 секунд, и есть способ, чтобы вызвать эти две функции в пределах лямбда.
Javascript
function now() {
return response.tell('success');
}
function wait() {
setTimeout(function() { return response.tell('success'); }, 4000);
}
Когда я вызываю функцию now
нет никаких проблем. Когда я вызываю функцию wait
, я получаю ошибку таймаута, а затем любые последующие вызовы now
дают мне ту же ошибку.
Является ли это ожидаемым поведением? Я думаю, что любые последующие вызовы лямбда-функции должны работать. Я понимаю, что всегда могу увеличить таймаут конфигурации, но скорее не буду.
Вы записываете журнал? ничего в cloudwatch –
Это ошибкаMessage, которую я опубликовал выше и снова. – jjbskir
Я играю с той же проблемой. Я помещаю console.log в FIRST LINE моего файла обработчика индекса, прежде чем я импортирую библиотеку. Этот console.log попадает на последующие таймауты, но после него нет журналов! Он останавливается при импорте. Я не знаю, что делает AWS, но по какой-то причине он не может загружать внешние библиотеки (или занимает время LONG). – duhseekoh