backoff
pp
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.
pp
-
How do you iterate though nested structs and print them?
for debug I use https://github.com/k0kubun/pp
- Libraries you use most of your projects?
What are some alternatives?
gomodifytags - Go tool to modify struct field tags
spew - Implements a deep pretty printer for Go data structures to aid in debugging
go-wiki - This is a Golang open-source module that makes it easy to access and parse data from Wikipedia (Wikipedia API wrapper)
go-logger - Simple logger for Go programs. Allows custom formats for messages.
pretty - Pretty printing for Go values
seelog - Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.
try - Simple idiomatic retry package for Go
logrusly - Loggly Hooks for GO Logrus logger
retry-go - Simple golang library for retry mechanism
logutils - Utilities for slightly better logging in Go (Golang).
assert - A simple assertion library using Go generics
log15 - Structured, composable logging for Go