Publicado en: Nov 25, 2019
AWS Lambda ahora admite dos nuevas características para proporcionar a los desarrolladores controles adicionales sobre cómo procesar las invocaciones asíncronas: la antigüedad máxima de eventos y el máximo de reintentos. Cuando se invoca una función de forma asíncrona, Lambda envía el evento a una cola. Un proceso independiente lee los eventos en la cola y ejecuta la función. Estas dos nuevas características proporcionan formas de controlar cómo se reintentan los eventos y cuánto tiempo pueden permanecer en la cola.
Antigüedad máxima de eventos
Cuando una función devuelve un error antes de la ejecución, Lambda devuelve el evento a la cola e intenta ejecutar la función de nuevo durante un máximo de 6 horas de forma predeterminada. Con la antigüedad máxima de eventos, se puede configurar el ciclo de vida de un evento de la cola desde 60 segundos a 6 horas. Esto permite eliminar los eventos no deseados en función de su antigüedad.
Máximo de reintentos
Cuando una función devuelve un error después de la ejecución, Lambda intenta ejecutarla dos veces más de forma predeterminada. Con el máximo de reintentos, se puede personalizar el número máximo de reintentos de 0 a 2. Esto ofrece la posibilidad de continuar procesando eventos nuevos con menos reintentos o sin reintentos.
Con estas dos características, los eventos se descartan o se envían a una cola de mensajes fallidos o a destinos de Lambda cuando se cumple una de estas dos condiciones: se alcanza el valor máximo de reintentos o el valor máximo de antigüedad de los eventos.
Puede empezar a utilizar estas dos características a través de la consola de administración de AWS, la interfaz de línea de comandos (CLI) de AWS, AWS CloudFormation o el AWS SDK para Lambda. Se pueden utilizar sin costo adicional en todas las regiones donde está disponible AWS Lambda. Para obtener más información sobre las regiones en las que está disponible AWS Lambda, consulte la tabla de regiones de AWS. Para obtener más información, consulte Invocación asíncrona en la Guía para desarrolladores de AWS Lambda y esta entrada del blog.