Elastic Job 조각구성(Slice configuration)

스케줄 생성

@Slf4j
@Service
public class MyShardingJob implements SimpleJob {

    @Override
    public void execute(ShardingContext context) {
        switch (context.getShardingItem()) {
            case 0:
                log.info("조각1 : 수행 스케줄!");
                break;
            case 1:
                log.info("조각2 : 수행 스케줄!");
                break;
            case 2:
                log.info("조각3 : 수행 스케줄!");
                break;
        }
    }

}

application.properties

elasticjob.jobs.my-sharding-job.elastic-job-class=com.didispace.chapter73.MyShardingJob
elasticjob.jobs.my-sharding-job.cron=0/5 * * * * ?
elasticjob.jobs.my-sharding-job.sharding-total-count=3

Log확인

2022-12-27 15:42:00.122  INFO 63478 --- [           main] .s.b.j.ScheduleJobBootstrapStartupRunner : Starting ElasticJob Bootstrap.
2022-12-27 15:42:00.126  INFO 63478 --- [           main] org.quartz.core.QuartzScheduler          : Scheduler my-sharding-job_$_NON_CLUSTERED started.
2022-12-27 15:42:00.126  INFO 63478 --- [           main] .s.b.j.ScheduleJobBootstrapStartupRunner : ElasticJob Bootstrap started.
2022-12-27 15:42:00.254  INFO 63478 --- [-sharding-job-1] com.blake.demo.MyShardingJob    : 조각1 : 수행 스케줄!
2022-12-27 15:42:00.254  INFO 63478 --- [-sharding-job-3] com.blake.demo.MyShardingJob    : 조각3 : 수행 스케줄!
2022-12-27 15:42:00.254  INFO 63478 --- [-sharding-job-2] com.blake.demo.MyShardingJob    : 조각2 : 수행 스케줄!
2022-12-27 15:42:00.011  INFO 63478 --- [-sharding-job-4] com.blake.demo.MyShardingJob    : 조각1 : 수행 스케줄!
2022-12-27 15:42:00.011  INFO 63478 --- [-sharding-job-5] com.blake.demo.MyShardingJob    : 조각2 : 수행 스케줄!
2022-12-27 15:42:00.011  INFO 63478 --- [-sharding-job-6] com.blake.demo.MyShardingJob    : 조각3 : 수행 스케줄!

-Dserver.port 포터 변경 하여 인스턴스 하나를 더 실행해 보자

인스턴스1 로그:

2022-12-27 15:44:50.190  INFO 63478 --- [ng-job_Worker-1] com.blake.demo.MyShardingJob    : 조각2 : 수행 스케줄!
2022-12-27 15:44:50.007  INFO 63478 --- [ng-job_Worker-1] com.blake.demo.MyShardingJob    : 조각2 : 수행 스케줄!
2022-12-27 15:44:50.010  INFO 63478 --- [ng-job_Worker-1] com.blake.demo.MyShardingJob    : 조각2 : 수행 스케줄!

인스턴스2 로그:

2022-12-27 15:44:50.272  INFO 63484 --- [-sharding-job-1] com.blake.demo.MyShardingJob    : 조각1 : 수행 스케줄!
2022-12-27 15:44:50.273  INFO 63484 --- [-sharding-job-2] com.blake.demo.MyShardingJob    : 조각3 : 수행 스케줄!
2022-12-27 15:44:50.009  INFO 63484 --- [-sharding-job-3] com.blake.demo.MyShardingJob    : 조각1 : 수행 스케줄!
2022-12-27 15:44:50.009  INFO 63484 --- [-sharding-job-4] com.blake.demo.MyShardingJob    : 조각3 : 수행 스케줄!

끝!

Last updated