Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cenkalti/backoff
⏱ The exponential backoff algorithm in Go
https://github.com/cenkalti/backoff
Last synced: 3 days ago
JSON representation
⏱ The exponential backoff algorithm in Go
- Host: GitHub
- URL: https://github.com/cenkalti/backoff
- Owner: cenkalti
- License: mit
- Created: 2014-02-26T00:00:16.000Z (almost 11 years ago)
- Default Branch: v4
- Last Pushed: 2024-03-26T02:35:27.000Z (9 months ago)
- Last Synced: 2024-12-01T07:07:29.713Z (11 days ago)
- Language: Go
- Homepage: https://pkg.go.dev/github.com/cenkalti/backoff/v4
- Size: 113 KB
- Stars: 3,485
- Watchers: 30
- Forks: 186
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- go-awesome - Backoff - Exponential backoff (Open source library / Algorithm)
- awesome-ccamel - cenkalti/backoff - ⏱ The exponential backoff algorithm in Go (Go)
README
# Exponential Backoff [![GoDoc][godoc image]][godoc] [![Coverage Status][coveralls image]][coveralls]
This is a Go port of the exponential backoff algorithm from [Google's HTTP Client Library for Java][google-http-java-client].
[Exponential backoff][exponential backoff wiki]
is an algorithm that uses feedback to multiplicatively decrease the rate of some process,
in order to gradually find an acceptable rate.
The retries exponentially increase and stop increasing when a certain threshold is met.## Usage
Import path is `github.com/cenkalti/backoff/v4`. Please note the version part at the end.
Use https://pkg.go.dev/github.com/cenkalti/backoff/v4 to view the documentation.
## Contributing
* I would like to keep this library as small as possible.
* Please don't send a PR without opening an issue and discussing it first.
* If proposed change is not a common use case, I will probably not accept it.[godoc]: https://pkg.go.dev/github.com/cenkalti/backoff/v4
[godoc image]: https://godoc.org/github.com/cenkalti/backoff?status.png
[coveralls]: https://coveralls.io/github/cenkalti/backoff?branch=master
[coveralls image]: https://coveralls.io/repos/github/cenkalti/backoff/badge.svg?branch=master[google-http-java-client]: https://github.com/google/google-http-java-client/blob/da1aa993e90285ec18579f1553339b00e19b3ab5/google-http-client/src/main/java/com/google/api/client/util/ExponentialBackOff.java
[exponential backoff wiki]: http://en.wikipedia.org/wiki/Exponential_backoff[advanced example]: https://pkg.go.dev/github.com/cenkalti/backoff/v4?tab=doc#pkg-examples