NServiceBus.RecoverabilityAction.DelayedRetry C# (CSharp) Method

DelayedRetry() public static method

Creates a new delayed retry recoverability action.
public static DelayedRetry ( System.TimeSpan timeSpan ) : DelayedRetry
timeSpan System.TimeSpan Delivery delay.
return DelayedRetry
        public static DelayedRetry DelayedRetry(TimeSpan timeSpan)
        {
            Guard.AgainstNegative(nameof(timeSpan), timeSpan);

            return new DelayedRetry(timeSpan);
        }

Usage Example

        /// <summary>
        /// Invokes the default recovery policy.
        /// </summary>
        /// <param name="config">The recoverability configuration.</param>
        /// <param name="errorContext">The error context.</param>
        /// <returns>The recoverability action.</returns>
        public static RecoverabilityAction Invoke(RecoverabilityConfig config, ErrorContext errorContext)
        {
            if (errorContext.Exception is MessageDeserializationException)
            {
                return(RecoverabilityAction.MoveToError(config.Failed.ErrorQueue));
            }

            if (errorContext.ImmediateProcessingFailures <= config.Immediate.MaxNumberOfRetries)
            {
                return(RecoverabilityAction.ImmediateRetry());
            }

            TimeSpan delay;

            if (TryGetDelay(errorContext.Message, errorContext.DelayedDeliveriesPerformed, config.Delayed, out delay))
            {
                return(RecoverabilityAction.DelayedRetry(delay));
            }

            return(RecoverabilityAction.MoveToError(config.Failed.ErrorQueue));
        }
All Usage Examples Of NServiceBus.RecoverabilityAction::DelayedRetry