Compare projects
Project comparisons allow you to view any selection of projects side by side just like they're shown on regular categories or in search results. You can try out an example or start yourself by adding a library to the comparison via the input below. You can also easily share your current comparison with others by sending the URL of the current page.
0.17
CircuitBreaker is a relatively simple Ruby mixin that will wrap
a call to a given service in a circuit breaker pattern.
The circuit starts off "closed" meaning that all calls will go through.
However, consecutive failures are recorded and after a threshold is reached,
the circuit will "trip", setting the circuit into an "open" state.
In an "open" state, every call to the service will fail by raising
CircuitBrokenException.
The circuit will remain in an "open" state until the failure timeout has
elapsed.
After the failure_timeout has elapsed, the circuit will go into
a "half open" state and the call will go through. A failure will
immediately pop the circuit open again, and a success will close the
circuit and reset the failure count.
require 'circuit_breaker'
class TestService
include CircuitBreaker
def call_remote_service() ...
circuit_method :call_remote_service
# Optional
circuit_handler do |handler|
handler.logger = Logger.new(STDOUT)
handler.failure_threshold = 5
handler.failure_timeout = 5
end
# Optional
circuit_handler_class MyCustomCircuitHandler
end
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
Activity