retry
A simple but highly configurable retry package for Go
About retry
ReTry
Percolate's Go retry package
Description
ReTry is a simple Go package for implementing retry logic. It's partially based on the Python package, retry.
Installation
go get github.com/percolate/retry
Usage
It's easy! Configure an instance of Re to your liking, and pass its Try
method a Func of your choosing.
Example
package main
import (
"fmt"
"io/ioutil"
"net/http"
"time"
"github.com/percolate/retry"
)
func main() {
url := "http://example.com"
delay := time.Duration(10*time.Millisecond)
var body []byte
err := retry.Re{Max: 3, Delay: delay}.Try(func() error {
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()
body, err = ioutil.ReadAll(resp.Body)
if err != nil {
return err
}
return nil
})
if err != nil {
fmt.Println(err)
}
fmt.Println(body)
}
Frequently Asked Questions
What is retry?
retry is a Utilities library for the Go programming language. A simple but highly configurable retry package for Go
How do I install retry?
Install retry with the Go module system using `go get percolate/retry`. Check the repository for the current installation instructions.
What category does retry belong to?
retry is listed under Utilities, specifically Utilities.