package com.erp.task.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import lombok.Data;

/**
 * 重试配置
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "task.retry")
public class RetryConfig {

    /**
     * 最大重试次数
     */
    private int maxRetries = 3;

    /**
     * 重试间隔（毫秒）
     */
    private long retryInterval = 60000;

    /**
     * 重试间隔倍数
     */
    private double multiplier = 2.0;

    /**
     * 最大重试间隔（毫秒）
     */
    private long maxRetryInterval = 3600000;

    /**
     * 是否启用指数退避
     */
    private boolean exponentialBackoff = true;
}
