33 lines
1.3 KiB
Kotlin
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
|
|
}
|
|
}
|