Initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
= 작업 스케쥴링
|
||||
|
||||
== 개요
|
||||
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 표현식 설정
|
||||
Reference in New Issue
Block a user