일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Spring
- HttpRequestMethodNotSupportedException
- ConcurrentSessionControlAuthenticationStrategy
- 12100
- 14891
- github actions
- aws-mysql-jdbc
- 1260
- 1916
- 백준
- SpringCloudConfig
- AWS
- 프로그래머스
- openTelemetry
- 15686
- Session Registry
- 14889
- self-hosted runners
- Value annotation
- RequiredArgsConstructor
- amazon-ecr-login
- Spring Security
- Spring Authorization Server
- Java
- RestControllerAdvice
- github
- tailsamplingprocessor
- 자바
- 17144
- Session Fixation Protection
- Today
- Total
한울이
[SPRING] k8s cronjob + Spring Batch 본문
Spring batch 를 k8s cronjob 을 사용하여 배포 하면서 겪었던 이슈
목표
Spring batch 를 실행하면서 error가 발생해서 정상적으로 종료하지 않으면
k8s cronjob 에 설정해놓은 restartPolicy 를 통해서 재실행하고, slack에 알림 발송
이슈
일부러 batch 작업중에 exception 발생하도록 코드를 넣고 cronjob을 실행
-> exception이 발생하고 batch가 종료되고 나서 pod의 상태가 Completed
-> pod 가 정상적으로 종료되었으므로 restartPolicy 를 통해서 재실행 하지 않고 slack에도 알림 발송 하지 않음
원인
spring batch에서 exception이 발생했지만 exit code는 0으로 반환하고 종료 -> exit code가 0이므로 pod는 성공으로 인지
해결
spring batch에서 exception이 발생하면 exit code를 반환하고 종료하도록 수정
참조
https://spring.io/blog/2021/01/27/spring-batch-on-kubernetes-efficient-batch-processing-at-scale
Spring Batch on Kubernetes: Efficient batch processing at scale
Introduction Batch processing has been a challenging area of computer science since its inception in the early days of punch cards and magnetic tapes. Nowadays, the modern cloud computing era comes with a whole new set of challenges for how to develop and
spring.io
'PROGRAMMING' 카테고리의 다른 글
[SPRING] ConcurrentSessionControlAuthenticationStrategy session expire 실패 (0) | 2023.03.26 |
---|---|
[SPRING] Session (0) | 2023.03.13 |
[SPRING] Lombok @RequiredArgsConstructor @Qualifier (0) | 2022.08.21 |
[SPRING] @RestControllerAdvice can not handle HttpRequestMethodNotSupportedException (0) | 2022.08.21 |
[SPRING] Spring Cacheable (0) | 2022.08.21 |