Class CircuitBreakerSyntaxAsync
- Namespace
- Polly
- Assembly
- Polly.dll
Fluent API for defining a Circuit Breaker Policy.
public static class CircuitBreakerSyntaxAsync
- Inheritance
-
CircuitBreakerSyntaxAsync
- Inherited Members
Methods
CircuitBreakerAsync(PolicyBuilder, int, TimeSpan)
Builds a Policy that will function like a Circuit Breaker.
The circuit will break if exceptionsAllowedBeforeBreaking
exceptions that are handled by this policy are raised consecutively.
The circuit will stay broken for the durationOfBreak
. Any attempt to execute this policy
while the circuit is broken, will immediately throw a BrokenCircuitException containing the exception
that broke the circuit.
If the first action after the break duration period results in a handled exception, the circuit will break
again for another durationOfBreak
; if no exception is thrown, the circuit will reset.
public static CircuitBreakerPolicy CircuitBreakerAsync(this PolicyBuilder policyBuilder, int exceptionsAllowedBeforeBreaking, TimeSpan durationOfBreak)
Parameters
policyBuilder
PolicyBuilderThe policy builder.
exceptionsAllowedBeforeBreaking
intThe number of exceptions that are allowed before opening the circuit.
durationOfBreak
TimeSpanThe duration the circuit will stay open before resetting.
Returns
- CircuitBreakerPolicy
The policy instance.
Remarks
(see "Release It!" by Michael T. Nygard fi)
Exceptions
- ArgumentOutOfRangeException
exceptionsAllowedBeforeBreaking;Value must be greater than zero.
CircuitBreakerAsync(PolicyBuilder, int, TimeSpan, Action<Exception, TimeSpan, Context>, Action<Context>)
Builds a Policy that will function like a Circuit Breaker.
The circuit will break if exceptionsAllowedBeforeBreaking
exceptions that are handled by this policy are raised consecutively.
The circuit will stay broken for the durationOfBreak
. Any attempt to execute this policy
while the circuit is broken, will immediately throw a BrokenCircuitException containing the exception
that broke the circuit.
If the first action after the break duration period results in a handled exception, the circuit will break
again for another durationOfBreak
; if no exception is thrown, the circuit will reset.
public static CircuitBreakerPolicy CircuitBreakerAsync(this PolicyBuilder policyBuilder, int exceptionsAllowedBeforeBreaking, TimeSpan durationOfBreak, Action<Exception, TimeSpan, Context> onBreak, Action<Context> onReset)
Parameters
policyBuilder
PolicyBuilderThe policy builder.
exceptionsAllowedBeforeBreaking
intThe number of exceptions that are allowed before opening the circuit.
durationOfBreak
TimeSpanThe duration the circuit will stay open before resetting.
onBreak
Action<Exception, TimeSpan, Context>The action to call when the circuit transitions to an Open state.
onReset
Action<Context>The action to call when the circuit resets to a Closed state.
Returns
- CircuitBreakerPolicy
The policy instance.
Remarks
(see "Release It!" by Michael T. Nygard fi)
Exceptions
- ArgumentOutOfRangeException
exceptionsAllowedBeforeBreaking;Value must be greater than zero.
- ArgumentNullException
onBreak
- ArgumentNullException
onReset
CircuitBreakerAsync(PolicyBuilder, int, TimeSpan, Action<Exception, TimeSpan, Context>, Action<Context>, Action)
Builds a Policy that will function like a Circuit Breaker.
The circuit will break if exceptionsAllowedBeforeBreaking
exceptions that are handled by this policy are raised consecutively.
The circuit will stay broken for the durationOfBreak
. Any attempt to execute this policy
while the circuit is broken, will immediately throw a BrokenCircuitException containing the exception
that broke the circuit.
If the first action after the break duration period results in a handled exception, the circuit will break
again for another durationOfBreak
; if no exception is thrown, the circuit will reset.
public static CircuitBreakerPolicy CircuitBreakerAsync(this PolicyBuilder policyBuilder, int exceptionsAllowedBeforeBreaking, TimeSpan durationOfBreak, Action<Exception, TimeSpan, Context> onBreak, Action<Context> onReset, Action onHalfOpen)
Parameters
policyBuilder
PolicyBuilderThe policy builder.
exceptionsAllowedBeforeBreaking
intThe number of exceptions that are allowed before opening the circuit.
durationOfBreak
TimeSpanThe duration the circuit will stay open before resetting.
onBreak
Action<Exception, TimeSpan, Context>The action to call when the circuit transitions to an Open state.
onReset
Action<Context>The action to call when the circuit resets to a Closed state.
onHalfOpen
ActionThe action to call when the circuit transitions to HalfOpen state, ready to try action executions again.
Returns
- CircuitBreakerPolicy
The policy instance.
Remarks
(see "Release It!" by Michael T. Nygard fi)
Exceptions
- ArgumentOutOfRangeException
exceptionsAllowedBeforeBreaking;Value must be greater than zero.
- ArgumentNullException
onBreak
- ArgumentNullException
onReset
- ArgumentNullException
onHalfOpen
CircuitBreakerAsync(PolicyBuilder, int, TimeSpan, Action<Exception, TimeSpan>, Action)
Builds a Policy that will function like a Circuit Breaker.
The circuit will break if exceptionsAllowedBeforeBreaking
exceptions that are handled by this policy are raised consecutively.
The circuit will stay broken for the durationOfBreak
. Any attempt to execute this policy
while the circuit is broken, will immediately throw a BrokenCircuitException containing the exception
that broke the circuit.
If the first action after the break duration period results in a handled exception, the circuit will break
again for another durationOfBreak
; if no exception is thrown, the circuit will reset.
public static CircuitBreakerPolicy CircuitBreakerAsync(this PolicyBuilder policyBuilder, int exceptionsAllowedBeforeBreaking, TimeSpan durationOfBreak, Action<Exception, TimeSpan> onBreak, Action onReset)
Parameters
policyBuilder
PolicyBuilderThe policy builder.
exceptionsAllowedBeforeBreaking
intThe number of exceptions that are allowed before opening the circuit.
durationOfBreak
TimeSpanThe duration the circuit will stay open before resetting.
onBreak
Action<Exception, TimeSpan>The action to call when the circuit transitions to an Open state.
onReset
ActionThe action to call when the circuit resets to a Closed state.
Returns
- CircuitBreakerPolicy
The policy instance.
Remarks
(see "Release It!" by Michael T. Nygard fi)
Exceptions
- ArgumentOutOfRangeException
exceptionsAllowedBeforeBreaking;Value must be greater than zero.
- ArgumentNullException
onBreak
- ArgumentNullException
onReset
CircuitBreakerAsync(PolicyBuilder, int, TimeSpan, Action<Exception, TimeSpan>, Action, Action)
Builds a Policy that will function like a Circuit Breaker.
The circuit will break if exceptionsAllowedBeforeBreaking
exceptions that are handled by this policy are raised consecutively.
The circuit will stay broken for the durationOfBreak
. Any attempt to execute this policy
while the circuit is broken, will immediately throw a BrokenCircuitException containing the exception
that broke the circuit.
If the first action after the break duration period results in a handled exception, the circuit will break
again for another durationOfBreak
; if no exception is thrown, the circuit will reset.
public static CircuitBreakerPolicy CircuitBreakerAsync(this PolicyBuilder policyBuilder, int exceptionsAllowedBeforeBreaking, TimeSpan durationOfBreak, Action<Exception, TimeSpan> onBreak, Action onReset, Action onHalfOpen)
Parameters
policyBuilder
PolicyBuilderThe policy builder.
exceptionsAllowedBeforeBreaking
intThe number of exceptions that are allowed before opening the circuit.
durationOfBreak
TimeSpanThe duration the circuit will stay open before resetting.
onBreak
Action<Exception, TimeSpan>The action to call when the circuit transitions to an Open state.
onReset
ActionThe action to call when the circuit resets to a Closed state.
onHalfOpen
ActionThe action to call when the circuit transitions to HalfOpen state, ready to try action executions again.
Returns
- CircuitBreakerPolicy
The policy instance.
Remarks
(see "Release It!" by Michael T. Nygard fi)
Exceptions
- ArgumentOutOfRangeException
exceptionsAllowedBeforeBreaking;Value must be greater than zero.
- ArgumentNullException
onBreak
- ArgumentNullException
onReset