2023-team-by-team
2023-team-by-team copied to clipboard
[BE] 캘린더 배포 요청이 밀려서 실패하는 배포들 처리
구현기능
ics 파일 배포요청시 동시간에 많은 요청이 들어오면 누락되는 경우가 생김 해당 문제들에 대한 처리방안 마련 및 구현
누락되는 케이스
배포대기큐 (icalendar.DeployWaitingQueue
capacity 초과 문제)
배포대기큐에 용량 초과시 정책 구현
고려할 해결 방안
-> 배포가 밀린 팀플레이스들을 저장해두는 실패 대기 큐 또는 셋을 구현
실패 대기큐에서 배포 진행 방안
- 사용자가 없을 시간 (주로 새벽시간)에 직접 배포를 수행
- 사용자가 없을 시간에 배포큐에 추가 -> 이경우 밀린 팀이 많다면 다시 실패할 수 있음
- 틈틈히 배포 진행 상황을 보고 일부를 큐에 추가 -> 복잡성 증가할것같음 -> 그럼 오류 예외사항에 대한 위험도 증가...
고려할점...
배포실패 큐 또는 셋을 만든다면 해당 친구의 cap에 대해서도 고려 필요
IcalendarEventListener
threadpool 초과시 처리 구현
해당 ThreadPool에 RejectExecutionHandler
추가해주기
해당 handler의 구현 방법은 위의 실패한 친구들 처리 방안에 대한 정책에 따라 달라질듯