NetworkResiliency
Making network requests more resilient
- waste less time on failures by using dynamic, granular timeouts and deadeline propagation
- reduce errors by automatically retrying idempotent calls
- observe every network connection and request
require "network_resiliency"
NetworkResiliency.configure do |conf|
  conf.statsd = Datadog::Statsd.new
end
Redis.new.pingContributing
Yes please :)
- Fork it
- Create your feature branch (git checkout -b my-feature)
- Ensure the tests pass (bundle exec rspec)
- Commit your changes (git commit -am 'awesome new feature')
- Push your branch (git push origin my-feature)
- Create a Pull Request
Inspired by
https://github.com/lostisland/faraday-retry/blob/main/lib/faraday/retry/middleware.rb
https://github.com/ankane/the-ultimate-guide-to-ruby-timeouts
https://reprep.io/writings/20220326_timeouts_deadline_propagation.html