AirHelp / rabbit-amazon-forwarder

RabbitMQ forwader to Amazon services

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[LAMBDA] Ack

mancvso opened this issue · comments

What is the rationale for the acknowledge of a message?

My use scenario considers intermitent connectivity :

  • Process puts a message to a fanout queue with certain routing key
  • When there is connectivity the messages should be sent to lambda (only ACK when delivered)
  • Lambda function executes some logic based on the content body.

Hi,

What do you mean by intermitent? It means you're loosing connection to RabbitMQ or you don't want to stay connected to it for a long time?
Regarding acknowledge: Ack is send only when the lambda execution succeed, if no connectivity to lambda or the invocation of lambda itself returns an error, message will be put on DLQ in RabbitMQ. After that you could use RabbitMQ shovel interface to move messages from DLQ to regular queue when you know that your lambda is ready to handle them again.
Hope that helps.

With intermittent I mean a remote zone in Chile, with a physical server, where the internet is provided by 3G signal, that tends to drop.

The system uses RabbitMQ as a buffer to AWS operations.

Glad to know about the DLQ, I can plan accordingly. Thank you very much!