Skip to content

refactor: 디스코드 알림을 커밋 이후 비동기로 전송하도록 #851

Closed

Description

@whqtker

어떤 부분을 리팩터링하려 하나요?

디스코드 알림이 업무 트랜잭션 안에서 동기로 전송되어, 디스코드 장애가 성적 제출·멘토 신청·관리자 검수 실패로 이어집니다.

AS-IS

  • 검수 요청 알림과 검수 결과 표시가 트랜잭션 안에서 동기로 호출되고, 실패하면 예외가 전파되어 롤백된다 (500)
  • 디스코드 응답을 기다리는 동안 DB 커넥션을 점유한다
  • 커밋 전에 전송되어 롤백된 건의 알림이 남을 수 있다 (신고 알림 포함)

TO-BE

  • 커밋 이후 비동기로 전송한다
  • 전송 실패는 로그만 남기고 업무 흐름에 영향을 주지 않는다

작업 상세 내용

  • 알림 호출을 이벤트 발행과 커밋 이후 비동기 리스너로 전환
  • 검수 요청 알림의 message id 저장을 리스너로 이동
  • 검수 결과 표시가 실패해도 예외를 전파하지 않도록 변경

참고할만한 자료(선택)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions