FAQ #4

Estou tentando executar uma função no AWS Lambda, mas recebo a mensagem abaixo, informando estouro de tempo. O que fazer?

Cada função no AWS Lambda tem um tempo máximo de execução. Isso serve para nos proteger de nós mesmos, imagine a conta que iríamos pagar se deixássemos um loop infinito no código. O valor padrão desta configuração para funções novas no AWS Lambda é de 3 segundos. Mas você pode modificar o tempo limite na seção Configurações básicas da função. Abaixo configuramos para 7 segundos.

Portanto, caso sua função estoure o tempo limite, basta configurar para um valor adequado.

Para determinar o tempo adequado para sua função é interessante que você instrumente seu código, em sua máquina local, para ver os tempos das operações “suspeitas”. Existem várias formas de fazer isso, mas uma bem simples em Python é usar a biblioteca time. Basta capturar o tempo atual antes do trecho (função time.time()), capturar o tempo depois dele e subtrair os valores. Se seu código for muito grande, aí a solução é procurar por bibliotecas e ferramentas específicas para profiling de código.