Have a parameter to supply a proc that is only called on the final failure
jcobian opened this issue · 0 comments
jcobian commented
Currently the on_retry
parameter is called each time the passed in block of code raises a matching exception.
I am proposing that there be a on_final_failure
(or similarly named) parameter which is a proc that is called after all retries have been exhausted.
The use case is that:
- sometimes I'd like to perform a different action once all the retries have finished
- sometimes I only want to perform an action once all the retries are finished.
I know there are current ways to do this outside of the gem, but I think the following interface could be nice:
do_this_on_each_retry = Proc.new { }
do_this_on_final_retry = Proc.new { }
Retriable.retriable(on_retry: do_this_on_each_retry, on_final_failure: do_this_on_final_retry) do
# code here..
end
This allows me to have custom logic for the final failure, while still allowing the error to be raised by Retriable