func()

in lib/persistedretry/config.go [49:88]


func (c Config) applyDefaults() Config {
	if c.NumIncomingWorkers == 0 {
		c.NumIncomingWorkers = 4
	}
	if c.NumRetryWorkers == 0 {
		c.NumRetryWorkers = 2
	}
	if c.MaxTaskThroughput == 0 {
		c.MaxTaskThroughput = 10 * time.Millisecond
	}
	if c.PollRetriesInterval == 0 {
		c.PollRetriesInterval = 15 * time.Second
	}
	if c.RetryInterval == 0 {
		c.RetryInterval = 30 * time.Second
	}
	if !c.SyncRetryBackoff.Enabled {
		// Apply defaults for sync retry backoff to maintain backward compatibility
		c.SyncRetryBackoff = httputil.ExponentialBackOffConfig{
			Enabled:             true,
			InitialInterval:     500 * time.Millisecond,
			RandomizationFactor: 0.05,
			Multiplier:          2,
			MaxInterval:         30 * time.Second,
			MaxRetries:          2, // 2 retries = 3 total attempts (1 initial + 2 retries)
		}
	}
	if c.WorkqueueMetricsEmitInterval == 0 {
		c.WorkqueueMetricsEmitInterval = 5 * time.Second
	}
	if !c.Testing {
		if c.IncomingBuffer == 0 {
			c.IncomingBuffer = 1000
		}
		if c.RetryBuffer == 0 {
			c.RetryBuffer = 1000
		}
	}
	return c
}