/// /// Configuration for the promotion retry background job. /// All values configurable via appsettings.json under "PromotionRetry". /// public class PromotionRetryOptions { public const string Section = "PromotionRetry"; /// /// How often the retry service checks for stuck batches (in seconds). /// Default: 60 seconds. /// public int PollIntervalSeconds { get; set; } = 60; /// /// Initial delay before the first retry attempt (in seconds). /// Default: 30 seconds. /// public int InitialDelaySeconds { get; set; } = 30; /// /// Maximum delay between retries (in seconds). Exponential backoff /// caps at this value. Default: 900 seconds (15 minutes). /// public int MaxDelaySeconds { get; set; } = 900; /// /// Maximum number of retry attempts before the batch is flagged /// for manual intervention. Default: 10. /// public int MaxRetryAttempts { get; set; } = 10; /// /// Backoff multiplier. Each retry delay is multiplied by this value. /// Default: 2.0 (doubles each time). /// public double BackoffMultiplier { get; set; } = 2.0; }