52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
= 작업 스케쥴링
|
|
|
|
== 개요
|
|
SDL의 작업 스케쥴링은 http://www.quartz-scheduler.org/documentation/[Quartz]를 이용하여 구현하고 있다.
|
|
수행할 작업(Job)을 등록하고 Trigger에 Job을 추가한 후 Scheduler에 Trigger(s)를 설정한다.
|
|
|
|
=== 스케줄러 설정 예
|
|
.config.properties
|
|
[source,properties]
|
|
----
|
|
batch.user.long-term-check.cron=0 10 00 * * ?
|
|
----
|
|
|
|
.UserBatchConfig
|
|
[source,java]
|
|
----
|
|
@Configuration
|
|
public class UserBatchConfig {
|
|
|
|
@Value("${batch.user.long-term-check.cron}")
|
|
private String batchUserLongTermCheckCron;
|
|
|
|
/**
|
|
* 장기 미사용자 관리 Job
|
|
*/
|
|
@Bean
|
|
public JobDetail batchUserLongTermCheckJob() {
|
|
return JobBuilder
|
|
.newJob(UserBatchExecutor.class) // <1>
|
|
.withIdentity("batchUserLongTermCheck") // <2>
|
|
.withDescription("User LongTerm Check Batch")
|
|
.storeDurably(true)
|
|
.build();
|
|
}
|
|
|
|
/**
|
|
* 장기 미사용자 관리 Trigger
|
|
*/
|
|
@Bean
|
|
public CronTriggerFactoryBean batchUserLongTermCheckTrigger() {
|
|
CronTriggerFactoryBean trigger = new CronTriggerFactoryBean();
|
|
trigger.setJobDetail(batchUserLongTermCheckJob()); // <3>
|
|
trigger.setCronExpression(batchUserLongTermCheckCron); // <4>
|
|
return trigger;
|
|
}
|
|
|
|
}
|
|
----
|
|
<1> 서비스를 수행할 Job Class
|
|
<2> Job 구분 명
|
|
<3> Job 등록
|
|
<4> Cron 표현식 설정 |