RetryPolicy
“If at first you don’t succeed, retry an X amount of times with a configurable delay between attempts “, No One.
Engineers can follow all the best practices and errors will still happen. The issue can be completely out of the developers control such as network or hard disk failure. Some systems are resilient and within a few seconds, a failover will takeover and the system health is back to normal. Unfortunately, the error has already been reported to the user and they need to take further action. It is not uncommon for the user to simply click the same button again without making any changes. “Magically”, “it works” and the user is left with a bad impression. Negative reviews come in for the App stating it is unreliable or “dumb”. A RetryPolicy can be useful in such a situation by automatically resubmitting the same action in the event of a transient failure. If successful, the end user is no wiser that an error happened and was gracefully handled.
The complete article is available on Code Project at https://www.codeproject.com/Articles/1273180/Retry-Policy
The full Source Code is available on GitHub: https://github.com/SenseiCris/RetryPolicy