backoff
assert
backoff | assert | |
---|---|---|
6 | 2 | |
3,264 | 133 | |
- | - | |
3.1 | 5.3 | |
about 2 months ago | 12 days ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
backoff
-
Retry operations with constant, delays and exponential backoff strategies
Why this instead of https://github.com/avast/retry-go or https://github.com/cenkalti/backoff ?
-
Gosyphus: Retries with exponential backoff
What about https://github.com/cenkalti/backoff?
-
Libraries you use most of your projects?
In addition to the ones you mentioned, I also always use: + sqlc - Compile SQL to type-safe code + gqlgen - generate GraphQL server from schema + oapi-codegen - Go client and server boilerplate from OpenAPI 3 specifications + pester - Go http calls with retries and backoff + backoff - exponential backoff algorithm in Go
-
retry package for golang
May I suggest directions to improve? - add option for exponential or linear backoff - stop early on non-retriable errors Example: https://pkg.go.dev/github.com/cenkalti/backoff/v4 (do not know about its author, just a package I've been using).
- How to implement a retry mechanism for goroutines?
-
Queuing up API requests with waitgroups?
I have used https://github.com/cenkalti/backoff a few years ago and I don't know if it's the best candidate at this point but it's worth to consider in combination with or as an alternative to x/time/rate if you are going that route.
assert
-
Libraries you use most of your projects?
https://github.com/alecthomas/assert As an assertion library
- alecthomas/assert: A minimalist type-safe drop-in replacement for testify/require
What are some alternatives?
go-wiki - This is a Golang open-source module that makes it easy to access and parse data from Wikipedia (Wikipedia API wrapper)
go-cmp - Package for comparing Go values in tests
try - Simple idiomatic retry package for Go
go-utils - Simple and performant utilies using Go generics inspired by JavaScript and Python
pp - Colored pretty printer for Go language
be - The Go test helper for minimalists
sqlc - Generate type-safe code from SQL
genfuncs - Go 1.18+ polymorphic generic containers and functions.
pretty - Pretty printing for Go values
go-testdeep - Extremely flexible golang deep comparison, extends the go testing package, tests HTTP APIs and provides tests suite
retry - Small, full-featured, 100% test-covered retry package for golang.
versioninfo - Importable package that parses version info from debug.ReadBuildInfo().