본문 바로가기

IT-Consultant

무한 루프에서 sleep은 finally에서 처리하자.

무한 루프를 돌면서 DB의 일정 부분을 SELECT해서 처리하는 프로그램을 만들었다.
그런데 어느날 갑자기 DB 서버에 문제가 생기니 로그 파일이 무려 20GB가 만들어졌다.

가만히 보니 DB에서 데이터를 가져온 후 sleep을 하게 되는데, 이때 Exception 이 발생하게 되면 sleep을 안타고 바로 Exception처리되게된다. 그런데 무한 루프를 돌게 해놨으니 로그가 무한정 쌓이게 된것이다. 
간단히 finally에서 sleep을 넣어서 해결해놨다. 다른 방법도 있겠지만, 이것이 가장 확실한 방법으로 보인다.