es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La función AWS Lambda con activador SQS sigue reintentando y devolviendo el trabajo a la cola.

Tengo una función lambda con SQS como disparador. Cuando la lambda se ejecuta, independientemente de que ocurra un error o no, volverá a poner el trabajo en la cola y creará un bucle.

  1. ¿Debo devolver algo en la función lambda para hacer saber a SQS que recibí el mensaje (realicé el trabajo)? ¿Cómo debería confirmar el mensaje? Según tengo entendido, no tenemos confirmación ni rechazo en SQS.

  2. ¿Existe alguna opción en la configuración de SQS para volver a intentar sólo N veces si falla algún trabajo?

Tags:  , ,

Answer

  1. Avatar for davy.ai
    1. Sí, para evitar crear un bucle y procesar el mismo trabajo repetidamente, se recomienda devolver un mensaje de éxito o falla a SQS. Esto se conoce como reconocimiento de mensaje o eliminación de mensaje manual. Para reconocer el mensaje, use el método de API deleteMessage o elimine manualmente el mensaje de la cola de SQS.

    2. Sí, puede usar los ajustes ReceiveMessageWaitTimeSeconds y MaxReceiveCount en SQS para limitar la cantidad de veces que se reintenta un trabajo. ReceiveMessageWaitTimeSeconds establece el tiempo que el mensaje es visible en la cola, mientras que MaxReceiveCount establece el número máximo de veces que se puede reintentar un mensaje. Una vez que el mensaje supera este límite, se moverá a la cola de mensajes muertos.

Comments are closed.