Algorithm-Backoff-RetryTimeouts

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

      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
      request solves the opposite problem of exponential backoffs: slower,
      unresponsive errors that gobble up all of the max duration time in
      one go. Each new timeout is a certain percentage of the time left.

 Typical scenario

    Here's an example scenario of the algorithm with existing defaults:

        $retry_algo is created, and timer starts
    
        Initial timeout is 25s
    
        1st attempt fails instantly

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

#pod
#pod =item *
#pod
#pod B<Jitter> - Adding random jitter to the retry delays solves for the Thundering Herd
#pod problem.
#pod
#pod =item *
#pod
#pod B<Adjustable timeouts> - Providing an adjustable timeout after each request solves the
#pod opposite problem of exponential backoffs: slower, unresponsive errors that gobble up all
#pod of the max duration time in one go.  Each new timeout is a certain percentage of the time
#pod left.
#pod
#pod =back
#pod
#pod =head2 Typical scenario
#pod
#pod Here's an example scenario of the algorithm with existing defaults:
#pod
#pod     $retry_algo is created, and timer starts
#pod

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


=item *

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

=item *

B<Adjustable timeouts> - Providing an adjustable timeout after each request solves the
opposite problem of exponential backoffs: slower, unresponsive errors that gobble up all
of the max duration time in one go.  Each new timeout is a certain percentage of the time
left.

=back

=head2 Typical scenario

Here's an example scenario of the algorithm with existing defaults:

    $retry_algo is created, and timer starts



( run in 0.322 second using v1.01-cache-2.11-cpan-05162d3a2b1 )