-
Notifications
You must be signed in to change notification settings - Fork 0
서버 장애 발생으로 인해 중단된 워크플로우 자동 복구 및 이어하기(Resume) 기능 구현 #246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* README.md 작성 및 DTO 네이밍 컨벤션에 맞게 리팩토링 (#239) * docs: README.md 작성 * refactor: DTO 네이밍 컨벤션에 따라 리팩토링 * refactor: Code Formatting * 다이어그램 파일명 수정 (#240) * docs: README.md 작성 * refactor: DTO 네이밍 컨벤션에 따라 리팩토링 * refactor: Code Formatting * fix: 다이어그램 파일명 수정 * Spring Quartz에 Cluster를 이용한 schedule, workflow 실시간 반영 (#238) * feat: applcation-develop.yml에 quartz설정 추가 * feat: QuartzConfig * feat: Quartz에 스케줄 동기화 추가 * feat: ScheduleController * feat: Schedule 단건조회, 스케줄 활성상태 변경 추가 * feat: ScheduleService * feat: ScheduleUpdateDto * feat: workflowController delete,patch,활성화변경, 스케줄 삭제 추가 * feat: workflowMapper 워크플로우 활성화상태 변경 추가 * feat: Schedule Quartz 실시간 반영 관련 내용 추가 * feat: ScheduleManagementE2eTest 작성중 * chore: spotlessApply * feat: schedule workflow_id unique 조건 제거 * fix: schedule 관련 파일들 schedule 폴더로 이동 * feat: scheduleE2eTest 수정 * fix: 중복 코드 삭제 * fix: 검증코드 workflowservice -> scheduleService로 이동 * fix: 오타 수정 * fix: 정적 메서드로 변경 * fix: 정적 메서드로 변경 * fix: 인증 중복 코드 제거 * fix: hasSchedules collection으로 변경 * chore: import 추가 * chore: spotlessApply * refactor: DTO 네이밍 변경 --------- Co-authored-by: jihukimme <jihu0210@naver.com> * docs: 다이어그램 및 시연 영상 업로드 * docs: 시연 영상 유튜브 링크 업로드 * docs: 시연영상 목차 추가 * 목차 및 각 콘텐츠 앵커 링크 도입 (#242) * docs: ERD 추가 및 시퀀스 다이어그램 경로 수정 (#244) --------- Co-authored-by: bwnfo3 <142577603+bwnfo3@users.noreply.github.com> Co-authored-by: Yousung Jung <jys01012@gmail.com>
# Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
jihukimme
added a commit
that referenced
this pull request
Jan 22, 2026
* README.md 작성 및 DTO 네이밍 컨벤션에 맞게 리팩토링 (#239) * docs: README.md 작성 * refactor: DTO 네이밍 컨벤션에 따라 리팩토링 * refactor: Code Formatting * 다이어그램 파일명 수정 (#240) * docs: README.md 작성 * refactor: DTO 네이밍 컨벤션에 따라 리팩토링 * refactor: Code Formatting * fix: 다이어그램 파일명 수정 * Spring Quartz에 Cluster를 이용한 schedule, workflow 실시간 반영 (#238) * feat: applcation-develop.yml에 quartz설정 추가 * feat: QuartzConfig * feat: Quartz에 스케줄 동기화 추가 * feat: ScheduleController * feat: Schedule 단건조회, 스케줄 활성상태 변경 추가 * feat: ScheduleService * feat: ScheduleUpdateDto * feat: workflowController delete,patch,활성화변경, 스케줄 삭제 추가 * feat: workflowMapper 워크플로우 활성화상태 변경 추가 * feat: Schedule Quartz 실시간 반영 관련 내용 추가 * feat: ScheduleManagementE2eTest 작성중 * chore: spotlessApply * feat: schedule workflow_id unique 조건 제거 * fix: schedule 관련 파일들 schedule 폴더로 이동 * feat: scheduleE2eTest 수정 * fix: 중복 코드 삭제 * fix: 검증코드 workflowservice -> scheduleService로 이동 * fix: 오타 수정 * fix: 정적 메서드로 변경 * fix: 정적 메서드로 변경 * fix: 인증 중복 코드 제거 * fix: hasSchedules collection으로 변경 * chore: import 추가 * chore: spotlessApply * refactor: DTO 네이밍 변경 --------- Co-authored-by: jihukimme <jihu0210@naver.com> * docs: 다이어그램 및 시연 영상 업로드 * docs: 시연 영상 유튜브 링크 업로드 * docs: 시연영상 목차 추가 * 목차 및 각 콘텐츠 앵커 링크 도입 (#242) * docs: ERD 추가 및 시퀀스 다이어그램 경로 수정 (#244) * 서버 장애 발생으로 인해 중단된 워크플로우 자동 복구 및 이어하기(Resume) 기능 구현 (#246) * Release v0.1.0-stable (#245) * README.md 작성 및 DTO 네이밍 컨벤션에 맞게 리팩토링 (#239) * docs: README.md 작성 * refactor: DTO 네이밍 컨벤션에 따라 리팩토링 * refactor: Code Formatting * 다이어그램 파일명 수정 (#240) * docs: README.md 작성 * refactor: DTO 네이밍 컨벤션에 따라 리팩토링 * refactor: Code Formatting * fix: 다이어그램 파일명 수정 * Spring Quartz에 Cluster를 이용한 schedule, workflow 실시간 반영 (#238) * feat: applcation-develop.yml에 quartz설정 추가 * feat: QuartzConfig * feat: Quartz에 스케줄 동기화 추가 * feat: ScheduleController * feat: Schedule 단건조회, 스케줄 활성상태 변경 추가 * feat: ScheduleService * feat: ScheduleUpdateDto * feat: workflowController delete,patch,활성화변경, 스케줄 삭제 추가 * feat: workflowMapper 워크플로우 활성화상태 변경 추가 * feat: Schedule Quartz 실시간 반영 관련 내용 추가 * feat: ScheduleManagementE2eTest 작성중 * chore: spotlessApply * feat: schedule workflow_id unique 조건 제거 * fix: schedule 관련 파일들 schedule 폴더로 이동 * feat: scheduleE2eTest 수정 * fix: 중복 코드 삭제 * fix: 검증코드 workflowservice -> scheduleService로 이동 * fix: 오타 수정 * fix: 정적 메서드로 변경 * fix: 정적 메서드로 변경 * fix: 인증 중복 코드 제거 * fix: hasSchedules collection으로 변경 * chore: import 추가 * chore: spotlessApply * refactor: DTO 네이밍 변경 --------- Co-authored-by: jihukimme <jihu0210@naver.com> * docs: 다이어그램 및 시연 영상 업로드 * docs: 시연 영상 유튜브 링크 업로드 * docs: 시연영상 목차 추가 * 목차 및 각 콘텐츠 앵커 링크 도입 (#242) * docs: ERD 추가 및 시퀀스 다이어그램 경로 수정 (#244) --------- Co-authored-by: bwnfo3 <142577603+bwnfo3@users.noreply.github.com> Co-authored-by: Yousung Jung <jys01012@gmail.com> * Update README.md * Update README.md * Update README.md * Update README.md * README.md 업데이트 * feat: 워크플로우 비정상 종료 복구 프로세스 추가 및 Mapper 메서드 확장 * feat: 성공한 Job 확인용 Mapper 메서드 추가 및 워크플로우 실행 로직 수정 * refactor: Code formatting and alignment adjustments across core classes * refactor: Code formatting and alignment adjustments across core classes --------- Co-authored-by: bwnfo3 <142577603+bwnfo3@users.noreply.github.com> Co-authored-by: Yousung Jung <jys01012@gmail.com> * refactor: 워크플로우 재개(Resume) 로직 개선 및 README 문서 보완 (#248) * refactor: replace findSuccessfulJobByTraceId with findSuccessfulJobByWorkflowRunId * refactor: update task output retrieval to use workflowRunId scope and refine query methods * docs: update README with environment variables, setup, and deployment steps * refactor: improve code formatting across Workflow services and mappers --------- Co-authored-by: bwnfo3 <142577603+bwnfo3@users.noreply.github.com> Co-authored-by: Yousung Jung <jys01012@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 작업 내용
🛠️ 주요 변경 사항
WorkflowExecutionService개선: Job 실행 직전, 현재 Trace ID로 해당 Job이 이미 SUCCESS 상태인지 확인합니다.JobRunMapper쿼리 추가: findSuccessfulJobByTraceId를 추가하여 중복 실행을 방지하고 이미 완료된 작업은 스킵하도록 처리했습니다.RequestContextDto: 복구용 컨텍스트 생성을 위한 forRecovery 팩토리 메서드를 추가하고 네이밍 컨벤션(kebab-case)을 통일했습니다.🔗 관련 이슈
💬 추가 요청사항
✅ 체크리스트
코드 품질
테스트
배포 준비