시간이 10분 이상 걸리는 Batch Job이 있고 이를 Jenkins를 통해서 실행을 하려고 한다. 분명히 Batch가 수행되며 data는 모두 성공적으로 들어갔고 정상적으로 종료된듯 보인다. 하지만 Jenkins Job의 상태는 Unstable이다. SSH: Disconnecting configuration [batch_001] ... ERROR: Exception when publishing, exception message [Exec timed out or was interrupted after 213,127 ms] Build step 'Send files or execute commands over SSH' changed build result to UNSTABLE 로그를 꼼꼼히 보니 위와 같은..
Spring Batch 를 통해 Batch Job을 만들었으면 이걸 주기적으로 돌려주는 무언가가 필요하다. 배치와 스케쥴러를 혼동하는 사람들이 종종 있는데 이것은 완전히 다른 개념이다. 배치는 실시간으로 처리를 하는것이 아닌 일괄 처리를 뜻하며 보통은 특정 시간에 행해진다. 이 특정 시간을 정의해 주는 것은 스케쥴러의 역할이다. 내가 만든 Batch Job을 어느 스케쥴러를 통해서 동작시킬지 먼저 결정을 해야 한다. 선택을 할수 있는건 다음과 같았다. 상용으로 나온 배치 전문 솔루션 Control-M Jenkins의 Schedule(Build Periodically)를 사용하는 방법 Quartz 를 사용해서 자체 제작하는 방법 배치 어플리케이션이 올라갈 서버(linux)의 crontab 을 사용하는 방법..