Files
sodalive-backend-spring-boot/src/main/kotlin/kr/co/vividnext/sodalive/configs/SchedulerConfig.kt
2024-12-02 11:02:02 +09:00

33 lines
1.3 KiB
Kotlin

package kr.co.vividnext.sodalive.configs
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.Primary
import org.springframework.scheduling.annotation.EnableScheduling
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
@Configuration
@EnableScheduling
class SchedulerConfig {
@Primary
@Bean(name = ["taskScheduler"])
fun taskScheduler(): ThreadPoolTaskScheduler {
val scheduler = ThreadPoolTaskScheduler()
scheduler.poolSize = 5
scheduler.setThreadNamePrefix("DefaultScheduler-")
scheduler.setWaitForTasksToCompleteOnShutdown(true) // 종료 시 대기 설정
scheduler.setAwaitTerminationSeconds(10) // 최대 10초 대기
return scheduler
}
@Bean(name = ["audioContentReleaseScheduler"])
fun audioContentReleaseScheduler(): ThreadPoolTaskScheduler {
val scheduler = ThreadPoolTaskScheduler()
scheduler.poolSize = 2
scheduler.setThreadNamePrefix("AudioContentRelease-Scheduler-")
scheduler.setWaitForTasksToCompleteOnShutdown(true) // 종료 시 대기 설정
scheduler.setAwaitTerminationSeconds(10) // 최대 10초 대기
return scheduler
}
}