[spring] Scheduler in multi node environment (shedlock)
implementation 'net.javacrumbs.shedlock:shedlock-spring:4.44.0'
implementation 'net.javacrumbs.shedlock:shedlock-provider-jdbc-template:4.44.0'
DROP TABLE IF EXISTS `app_shedlock`;
CREATE TABLE `app_shedlock` (
`name` VARCHAR(64) NOT NULL COMMENT '이름',
`locked_at` TIMESTAMP NOT NULL COMMENT '일시',
`lock_until` TIMESTAMP NOT NULL COMMENT '기간',
`locked_by` VARCHAR(255) NOT NULL COMMENT '신청자',
PRIMARY KEY (`name`)
)
COMMENT='shedlock 테이블'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "30s")
@Configuration
@Profile("!integration-test")
public class SchedulerConfig {
private static final String SHEDLOCK = "app_shedlock";
@Bean
public LockProvider lockProvider(DataSource dataSource) {
return new JdbcTemplateLockProvider(dataSource, SHEDLOCK);
}
@Autowired
Service service;
@Scheduled(cron = "0 * * * * *")
@SchedulerLock(name = "task")
public void task() {
service.task();
}
}
https://faun.pub/spring-scheduler-in-multi-node-environment-49814e031e7c
Spring Scheduler in multi node environment
This story talks about handling the scheduled tasks in Spring boot applications when deployed in multi node environments. Talks about…
faun.pub
https://stackoverflow.com/questions/40684903/disable-schedule-on-spring-boot-integrationtest
Disable @Schedule on Spring Boot IntegrationTest
How can I disable the schedule auto-start on Spring Boot IntegrationTest? Thanks.
stackoverflow.com
https://blog.naver.com/lovemema/140200056062
Spring Schedule의 cron 표현식 설명
Spring Schedule을 실행시키기 위해서는 task가 실행되는 시간/주기 등을 설정하게 되는데 이러한 cron의...
blog.naver.com
https://data-make.tistory.com/699
[Spring Boot] Scheduler 사용해보기(일정 주기로 실행하는 스프링 스케쥴러)
The Scheduled Annotation in Spring @Scheduler를 사용해서 일정한 시간 간격으로, 혹은 특정 일정에 코드가 실행되도록 해보자. Spring Scheduler Dependency Spring Boot starter 에 기본적으로 의존 org.springframework.schedul
data-make.tistory.com
https://steady-snail.tistory.com/174
[Spring Framework] 멀티 서버에서 Spring 스케줄러 중복실행 방지
Spring의 @Scheduled 어노테이션은 Spring Framework에서 쉽게 cron을 구성할 수 있는 유용한 기능입니다. 그런데 WAS를 늘리게 되면 상당히 골치아픈 상황이 벌어집니다. cron작업이 WAS마다 실행되기 때문에
steady-snail.tistory.com