Retrying
Runs a code block, and retries it when an exception occurs.
It's configured using optional parameters :tries and :on.
Should the number of retries be reached without success, the last exception will be raised.
Installation
Add this line to your application's Gemfile:
gem 'retrying'
And then execute:
$ bundle
Or install it yourself as:
$ gem install retrying
Usage
Open an URL, try up to three times retrying when an OpenURI::HTTPError occurs.
require "retrying"
require "open-uri"
include Retrying
(:tries => 3, :on => OpenURI::HTTPError) do
xml = open("http://example.com/test.xml").read
end
Do something, try up to five times for either ArgumentError or
TimeoutError exceptions.
(:tries => 5, :on => [ArgumentError, TimeoutError]) do
# some crazy code
end
Alternatives
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
