Algorithm-Backoff-RetryTimeouts

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

    a sane set of defaults as a good baseline for most kinds of retry
    operations.

    A combination of features solves for most problems that would arise
    from retry operations:

      * Maximum attempts - Forces the algorithm to give up if repeated
      attempts don't yield success.

      * Maximum duration - Forces the algorithm to give up if no successes
      happen within a certain time frame.

      * Exponential backoff - A sqrt(2) exponential delay keeps single
      retries from waiting too long, while spreading out repeated retries
      that may fail too quickly and run out of max attempts. This also
      decreases the congestion that happens with repeated attempts.

      * Jitter - Adding random jitter to the retry delays solves for the
      Thundering Herd problem.

      * Adjustable timeouts - Providing an adjustable timeout after each

lib/Algorithm/Backoff/RetryTimeouts.pm  view on Meta::CPAN

#pod =over
#pod
#pod =item *
#pod
#pod B<Maximum attempts> - Forces the algorithm to give up if repeated attempts don't yield
#pod success.
#pod
#pod =item *
#pod
#pod B<Maximum duration> - Forces the algorithm to give up if no successes happen within a
#pod certain time frame.
#pod
#pod =item *
#pod
#pod B<Exponential backoff> - A C<sqrt(2)> exponential delay keeps single retries from waiting
#pod too long, while spreading out repeated retries that may fail too quickly and run out of
#pod max attempts.  This also decreases the congestion that happens with repeated attempts.
#pod
#pod =item *
#pod
#pod B<Jitter> - Adding random jitter to the retry delays solves for the Thundering Herd

lib/Algorithm/Backoff/RetryTimeouts.pm  view on Meta::CPAN

=over

=item *

B<Maximum attempts> - Forces the algorithm to give up if repeated attempts don't yield
success.

=item *

B<Maximum duration> - Forces the algorithm to give up if no successes happen within a
certain time frame.

=item *

B<Exponential backoff> - A C<sqrt(2)> exponential delay keeps single retries from waiting
too long, while spreading out repeated retries that may fail too quickly and run out of
max attempts.  This also decreases the congestion that happens with repeated attempts.

=item *

B<Jitter> - Adding random jitter to the retry delays solves for the Thundering Herd



( run in 1.176 second using v1.01-cache-2.11-cpan-df04353d9ac )