It would be nice to have an option to limit exponential backoff to some degree or duration.
For instance, we have a process with high likelihood of resolving within 10 seconds but may take up to 30 minutes. If we set retryDelay to 10s and turn on exponentialBackoff, the attempts would roughly happen with these delays:
0 (first attempt)
10 seconds
20 seconds
40 seconds
80 seconds
160 seconds
320 seconds (5 min)
640 seconds (11 min)
1280 seconds (21 min)
At this point, the delay is too large and the user has a degraded experience
If we configured a maxRetryDelay of 80 seconds, the backoff algorithm would be capped to a reasonable duration
It would be nice to have an option to limit exponential backoff to some degree or duration.
For instance, we have a process with high likelihood of resolving within 10 seconds but may take up to 30 minutes. If we set retryDelay to 10s and turn on exponentialBackoff, the attempts would roughly happen with these delays:
At this point, the delay is too large and the user has a degraded experience
If we configured a maxRetryDelay of
80 seconds
, the backoff algorithm would be capped to a reasonable duration