Not my original work - but a very useful Golang package made by Alexandre Bourget (https://blog.abourget.net/en/)
A retry system for Golang, complete copy & paste job from the original author below. I use it to handle system errors, mostly gRPC disconnection errors due to outage issues doscovered during synthetic resilience tests
https://blog.abourget.net/en/2016/01/04/my-favorite-golang-retry-function/