Elastic Job 고정스케줄 수행하기

공식사이트 https://shardingsphere.apache.org/elasticjob/index.html

Elastic Job 설정

pom.xml

<dependencies>
    <dependency>
        <groupId>org.apache.shardingsphere.elasticjob</groupId>
        <artifactId>elasticjob-lite-spring-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>

    // ...
</dependencies>

application.properties

elasticjob.reg-center.server-lists=localhost:2181
elasticjob.reg-center.namespace=blake

elasticjob.jobs.my-simple-job.elastic-job-class=com.blake.demo.MySimpleJob
elasticjob.jobs.my-simple-job.cron=0/5 * * * * ?
elasticjob.jobs.my-simple-job.sharding-total-count=1
  • elasticjob.reg-center.server-lists : register 앤드포인트

  • elasticjob.reg-center.namespace : 네임스페이스

  • elasticjob.jobs.elastic-job-class : 스케줄 실제 구현 클래스 지정.

  • elasticjob.jobs.my-simple-job.cron : 스케줄 실행 표현식

  • elasticjob.jobs.my-simple-job.sharding-total-count : 스케줄 총 개수

서비스 클래스 작성

@Slf4j
@Service
public class MySimpleJob implements SimpleJob {

    @Override
    public void execute(ShardingContext context) {
        log.info("MySimpleJob start : didispace.com {}", System.currentTimeMillis());
    }

}

Log 확인

2022-12-27 15:33:39.541  INFO 56365 --- [           main] org.quartz.impl.StdSchedulerFactory      : Quartz scheduler 'my-simple-job' initialized from an externally provided properties instance.
2022-12-27 15:33:39.541  INFO 56365 --- [           main] org.quartz.impl.StdSchedulerFactory      : Quartz scheduler version: 2.3.2
2022-12-27 15:33:39.551  INFO 56365 --- [           main] org.apache.curator.utils.Compatibility   : Using org.apache.zookeeper.server.quorum.MultipleAddresses
2022-12-27 15:33:40.067  INFO 56365 --- [           main] c.d.chapter72.Chapter72Application       : Started Chapter72Application in 3.25 seconds (JVM running for 4.965)
2022-12-27 15:33:40.069  INFO 56365 --- [           main] .s.b.j.ScheduleJobBootstrapStartupRunner : Starting ElasticJob Bootstrap.
2022-12-27 15:33:40.078  INFO 56365 --- [           main] org.quartz.core.QuartzScheduler          : Scheduler my-simple-job_$_NON_CLUSTERED started.
2022-12-27 15:33:40.078  INFO 56365 --- [           main] .s.b.j.ScheduleJobBootstrapStartupRunner : ElasticJob Bootstrap started.
2022-12-27 15:33:45.157  INFO 56365 --- [le-job_Worker-1] com.blake.demo.MySimpleJob      : MySimpleJob start : blake.com 1626766425157
2022-12-27 15:33:50.010  INFO 56365 --- [le-job_Worker-1] com.blake.demo.MySimpleJob      : MySimpleJob start : blake.com 1626766430010
2022-12-27 15:33:55.013  INFO 56365 --- [le-job_Worker-1] com.blake.demo.MySimpleJob      : MySimpleJob start : blake.com 1626766435013

끝!

Last updated