• Stars
    star
    3,369
  • Rank 13,276 (Top 0.3 %)
  • Language
    Go
  • License
    MIT License
  • Created over 10 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

⏱ The exponential backoff algorithm in Go

Exponential Backoff GoDoc Build Status Coverage Status

This is a Go port of the exponential backoff algorithm from Google's HTTP Client Library for Java.

Exponential backoff 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.

More Repositories

1

rain

🌧 BitTorrent client and library in Go
Go
953
star
2

github-flask

🍾 Flask extension for GitHub API
Python
264
star
3

dalga

⏰ MySQL backed Job Scheduler with a HTTP interface
Go
248
star
4

kuyruk

⚙️ Simple task queue for Python
Python
231
star
5

dominantcolor

Find dominant color in images
Go
119
star
6

rpc2

Bi-directional RPC in Go (Golang)
Go
108
star
7

pypi-notifier

📨 A web service that monitors your requirements.txt files
Python
100
star
8

putio.py

A python wrapper for put.io APIv2
Python
72
star
9

pyhtml

HTML generation library for Python
Python
70
star
10

tus.py

tus (resumable file upload protocol) client in python
Python
34
star
11

what

A helper for testing output of a process in tests.
Python
24
star
12

darbe

RDS MySQL replication setup tool
Python
18
star
13

tcpproxy

TCP proxy server written in Go
Go
13
star
14

resume

My resume
9
star
15

mse

BitTorrent Message Stream Encryption in Go
Go
9
star
16

go-sched

A generally useful event scheduler in Go (Golang).
Go
8
star
17

hub

Simple PubSub (Publish/Subscribe) library in Go (Golang)
Go
8
star
18

dotfiles

dotfiles management with git
Shell
7
star
19

catalyst

Caches binaries and libraries and runs a command. Used usually for decreasing release size of applications.
Go
7
star
20

kuyruk-manager

See and manage Kuyruk workers.
Python
6
star
21

AI-Writer

Swift
6
star
22

putiofs

A FUSE wrapper around put.io API v2
Python
5
star
23

remux

HTTP router that routes requests based on regex patterns.
Go
4
star
24

httpagain

Graceful restart for HTTP server (Golang)
Go
4
star
25

redialer

Generic redialer for connection-like types in Go
Go
4
star
26

container-manager

Go
3
star
27

bitfield

bitfield implementation in go
Go
3
star
28

seslisozluk-chrome

SesliSozluk.com Chrome Extension
JavaScript
3
star
29

kuyruk-go

Library for sending Kuyruk tasks from Go programs
Go
3
star
30

bcount

Cardinality counter that uses bloom filter internally.
Go
3
star
31

debe-postasi

Python
3
star
32

putio-osx-menubar

Swift
2
star
33

putio-treemap

Python
2
star
34

kuyruk-requeue

Save failed tasks to Redis and requeue them.
Python
2
star
35

math.kite

Example kite for demonstating kite framework
Go
2
star
36

puke

generate data for http speed testing
Go
2
star
37

pb

Turn long command outputs to a nice progress bar
Go
1
star
38

cenkalti.com

My home page
HTML
1
star
39

overlord

Process manager
C
1
star
40

kuyruk-sentry

Sends exceptions in Kuyruk workers to Sentry.
Python
1
star
41

cpu-guard

Shows MacOS notification if a process uses too much CPU
Swift
1
star