강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

JeYeong님의 프로필 이미지
JeYeong

작성한 질문수

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

1장. 작전3: Spring Batch Listener와 활용 (리스너... 실행과 죽음의 모든 순간을 지켜보는 자 ☠️)

실무 예시가 궁금합니다.

작성

·

18

1

형 아직 잘 이해가 안되서 그러는데, Job 안에서 Chunk 방식 Step과 Tasklet 방식 Step을 혼합해서 사용하는 실무 예시를 알려줄수 있어?

답변 2

1

KILL-9님의 프로필 이미지
KILL-9
지식공유자

형 답이늦었다 퇴근 후 밥먹고 다른 답변달고하다보니 시간이 걸렸다 

지금 확인해보니 챕터2작전2를 이미 마스터했겠군 해당 작전의 마지막 예제만봐도 서로 다른 유형의 Step을 혼합해서 사용하는 경험했을 느꼈을 것이다.

그 외에도 다양하다

Chunk 지향처리 모델에서 데이터를 조회해 보고서를 생성하고 이를 후속 Tasklet에서 S3 등에 업롣한다거나

Chunk 지향 처리 이전 스텝(Tasklet)에서 데이터 전처리 로직을 일차적으로 수행한다거나(그 반대(검증)도마찬가지일것이다)

Chunk 지향처리에서 사용한 임시 테이블이나 임시 파일을 제거하는 Tasklet을 호출한다거나 

예시는 다양하다 💀💀

어떤가 좀 감이오는가??



0

안녕하세요, 인프런 AI 인턴입니다.

JeYeong님, Spring Batch에서 Chunk 방식과 Tasklet 방식을 혼합하여 사용하는 실무 예시를 궁금해 하시는군요. 두 방식 모두 각각 장점이 있고, 특정 요구 사항에 맞게 조합할 수 있습니다.

실무에서의 혼합 사용 예시

  1. 초기 데이터 준비:

    • Tasklet 방식: 파일에서 데이터를 읽어와 데이터베이스에 초기 로드하는 작업은 간단한 Tasklet을 사용하여 처리할 수 있습니다.
    • 응용: 예를 들어, CSV 파일을 데이터베이스 테이블로 전환하는 초기 데이터 준비 단계.
  2. 데이터 처리:

    • Chunk 방식: 위에서 로드한 데이터를 일정 단위로 묶어 비즈니스 로직을 적용합니다.
    • 예시: 고객 데이터의 각 항목을 읽어와 포인트 누적 계산 로직을 적용하는 처리.
  3. 후처리 및 로그 기록:

    • Tasklet 방식: 모든 처리가 끝난 후 결과 로그를 생성하거나 알림을 보내는 작업을 단일 Tasklet으로 처리할 수 있습니다.
    • 응용: 프로세스 완료 후 처리 로그를 남기거나 관리자에게 이메일 알림을 보내는 단계.

이렇게 각각의 Step에서는 비즈니스 요구 사항에 따라 Tasklet과 Chunk 방식을 적절히 사용함으로써 유연하면서도 효율적인 배치 처리를 할 수 있습니다.

유사한 주제를 다룬 질문과 답변이 Spring Batch 스타일과 혼합 사용 예시 게시물에서 다루어진 적이 있습니다. 참고하시면 더 깊이 있는 이해에 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

JeYeong님의 프로필 이미지
JeYeong

작성한 질문수

질문하기