Rebus
Rebus copied to clipboard
SimpleRetryStrategy and AmazonSQS Transport
Hello!
Please, help me! Do I understand correct that the SimpleRertryStrategy use the InMemErrorTracker (Dictionary) with AmazonSQS Transport instead of ApproximateReceiveCount ? If I understood it correct, It means that message will be sent to error queue only if one worker get it more than maxDeliveryAttempts...
upd: I made some tests and found that the Rebus used ApproximateReceiveCount but how? I can't find where the Rebus use this attribute. I have 2 machines and 5 instances of Rebus (4 instances started on the first machine, 1 instance started on the second machine). After test 1 message was processed by 3 different instances and 2 machine, after 5 retries it was moved to error queue, but how Rebus check count of error without ApproximateReceiveCount - I don't understand.
upd2: I understood! Now the Rebus can't use DistributedErrorTracking (https://github.com/rebus-org/Rebus/issues/1025), but my SQS provider has special rules for check count of error, and I set up it the same as SimpleRertryStrategy, because of it I got this result.
Hi @kostazol , I don't know what's wrong with me, but I didn't see this issue until now 😳
Do I understand correctly that you've figured it out yourself?
Just a note: Rebus 8 CAN use distributed error tracking (e.g. by using Azure Blobs to track failed delivery attempts), so the original issue here has now gone away. 🙂 For this reason, I am closing.
Oh, @mookid8000 I'm sorry. I also didn't see your previous message until now. Thank you for your updates and for your answer! I will try distributed error tracking.