Download the PHP package avtonom/delay-exponential-backoff-bundle without Composer

On this page you can find all versions of the php package avtonom/delay-exponential-backoff-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package delay-exponential-backoff-bundle

Avtonom Exponential backoff to delay

Exponential backoff is an algorithm that uses feedback to multiplicatively decrease the rate of some process, in order to gradually find an acceptable rate.

Page bundle: https://github.com/Avtonom/delay-exponential-backoff-bundle

attempt microseconds seconds minutes hours
1 150000000 150 2.5 0.04
2 300000000 300 5 0.08
3 600000000 600 10 0.17
4 1200000000 1200 20 0.33
5 2400000000 2400 40 0.67
6 4800000000 4800 80 1.33
7 9600000000 9600 160 2.67
8 19200000000 19200 320 5.33
9 38400000000 38400 640 10.67
10 76800000000 76800 1280 21.33
11 153600000000 153600 2560 42.67

To Install

Run the following in your project root, assuming you have composer set up for your project

Switching ~1.1 for the most recent tag.

Add the bundle to app/AppKernel.php

Configuration options (parameters.yaml):

API

getDefaultOptions():

This method is static and returns an array with the default options:

halfDelay($attempt):

delay($attempt):

exponential($attempt):

This method use and exponential function E(attempt) = (2**attempt - 1) to calculate backoff time.

Parameters

equalJitter($attempt);

Exponential backoff has one disadvantage. In high concurrence, we can have multiples calls with the same backoff time due the time is highly bound to the current attempt, different calls could be in the same attempt.

To solve this we can add a jitter value to allow some randomization.

equalJitter uses the function: E(attempt) = min(((2**attempt - 1) / 2), random(0, ((2**attempt - 1) / 2))).

Parameters

fullJitter($attempt);

Full jitter behaves like equalJitter method, the main difference between them is the way in how the jitter value is calculated.

fullJitter uses the function: E(attempt) = min(random(0, (2**attempt - 1) / 2)).

Parameters

Usage

Read information https://habrahabr.ru/post/227225/

Use https://github.com/yriveiro/php-backoff


All versions of delay-exponential-backoff-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=5.3.2
symfony/dependency-injection Version ~2.3|3.*
yriveiro/php-backoff Version ~0.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package avtonom/delay-exponential-backoff-bundle contains the following files

Loading the files please wait ....