static Func <ErrorContext, RecoverabilityAction> CreatePolicy(int maxImmediateRetries = 2, int maxDelayedRetries = 2, TimeSpan?delayedRetryDelay = null, HashSet <Type> unrecoverableExceptions = null) { var failedConfig = new FailedConfig("errorQueue", unrecoverableExceptions ?? new HashSet <Type>()); var config = new RecoverabilityConfig(new ImmediateConfig(maxImmediateRetries), new DelayedConfig(maxDelayedRetries, delayedRetryDelay.GetValueOrDefault(TimeSpan.FromSeconds(2))), failedConfig); return(context => CustomizedRecoverabilityPolicy.MyCustomRetryPolicy(config, context)); }
/// <summary> /// Creates a new recoverability configuration. /// </summary> /// <param name="immediateConfig">The immediate retries configuration.</param> /// <param name="delayedConfig">The delayed retries configuration.</param> /// <param name="failedConfig">The failed retries configuration.</param> public RecoverabilityConfig(ImmediateConfig immediateConfig, DelayedConfig delayedConfig, FailedConfig failedConfig) { Guard.AgainstNull(nameof(immediateConfig), immediateConfig); Guard.AgainstNull(nameof(delayedConfig), delayedConfig); Guard.AgainstNull(nameof(failedConfig), failedConfig); Immediate = immediateConfig; Delayed = delayedConfig; Failed = failedConfig; }
/// <summary> /// Creates a new recoverability configuration. /// </summary> /// <param name="immediateConfig">The immediate retries configuration.</param> /// <param name="delayedConfig">The delayed retries configuration.</param> /// <param name="failedConfig">The failed retries configuration.</param> public RecoverabilityConfig(ImmediateConfig immediateConfig, DelayedConfig delayedConfig, FailedConfig failedConfig) { Guard.AgainstNull(nameof(immediateConfig), immediateConfig); Guard.AgainstNull(nameof(delayedConfig), delayedConfig); Guard.AgainstNull(nameof(failedConfig), failedConfig); Immediate = immediateConfig; Delayed = delayedConfig; Failed = failedConfig; }