package com.ema.admin.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler;

import java.util.concurrent.Executors;

/**
 * Scheduled定时任务配置
 */
@Configuration
@EnableScheduling // 开启定时任务
public class SchedulingConfig {

    /**
     * 创建一个固定大小的线程池:
     * 使得@Scheduled的任务可以通过线程池并行执行。
     * 注意：线程池的大小需要根据实际情况调整，不要设置过大，否则可能会导致系统资源不足。
     * @return
     */
    @Bean
    public ConcurrentTaskScheduler taskScheduler() {
        return new ConcurrentTaskScheduler(Executors.newScheduledThreadPool(2));
    }

}
