0

I was publishing 2000 asynchronous request into RabbitMQ pipeline and which will process each request asynchronously. I have some issue while processing the request.
1.Some request being processed multiple times. I found a solution as [https://www.rabbitmq.com/consumers.html#message-properties][1] In the event of network failure (or a node failure), messages can be redelivered, and consumers must be prepared to handle deliveries they have seen in the past.

My question is do we have any cases while processing asynchronous RabbitMQ request slowly? example -

Processing request-1 start at 2020-08-12 08:06:05.000. Request 1 ends at 2020-08-12 08:06:19.000 Processing the same request 1 at 2020-08-12 08:06:11.000 and which ends at 2020-08-12 08:06:18.000

If any delay or timeout happens to RabbitMQ will cause process the request again? before ending the first request RabbitMQ process it again. Do we have any chance like this? Please help.

Avinash Kalol
  • 33
  • 1
  • 8
  • I'm not sure what you're asking about slow requests in particular, but in general [using manual acknowledgements](https://www.rabbitmq.com/confirms.html) should be enough to avoid actually processing messages twice. – IMSoP Nov 09 '20 at 08:29
  • @IMSoP is there any chance to process/consume the same request published in the rabbitmq pipeline twice? – Avinash Kalol Nov 09 '20 at 09:15
  • @IMSoP the slowness I mentioned here is consuming/processing a published message in the pipeline taking some extra time than the normal. So my assumption is due to this time difference for completing the processing of one request(published message) RabbitMQ start consuming/processing the same request again. – Avinash Kalol Nov 09 '20 at 09:26
  • @IMSoP have a workaround to avoid the duplicating processing via checking the status of last processed/consumed event(as you motioned in the link). but in our case published message is consumed/processed after a time than expected.it will only change status to processed after completing the processing/consuming from the pipeline. RabbitMQ processing the same request again(I dont know the reason), while processing/consuming the same request it check the event status and which is pending. As a result it providing duplication for a request. – Avinash Kalol Nov 09 '20 at 09:27

0 Answers0