반응형
2023.08.17 - [ETC] - 사내 담당 업무 기록 1
RDS Alarm - 수정
- 사내에서 사용하는 Slack의 API 중 chat.postMessage 또는 WebHook은 초당 1번의 메세지 송신이 가능하며 특정 상황은 예외가 있다고 한다. 그리하여 API를 수정하게 되었다.
DOC
- 베이스
- Python으로 작성된 코드이다.
나는 고연차도 아니고 JAVA개발자다. 그냥 그렇다. - 너무 많은 메세지를 보내게 되면 성공이 아닌 실패의 에러가 나며 "HTTP/1.1 429 Too Many Requests"의 에러가 나온다.
DOC - 해당 기능은 Slack Bot으로 동작한다.
- 제한은 Slack Bot 1개의 제한이다.
- 위 사항들을 인지 후 해당 기능 생성시에 Bot을 이미 여러개 생성해두었다.
- 기존 기능은 여러개의 Bot의 정보 중 랜덤으로 1개의 Bot을 선택 하여 메세지를 송신한다.
- Python으로 작성된 코드이다.
- 구상
- Bot의 수량을 늘린다.
- 이후 관리에 문제가 생길 수 있다. - Bot 선택을 순차적으로 한다.
- 이 역시 중복이 발생할 가능성이 존재한다. - AWS SQS 도입을 고려한다.
- 비용의 문제가 존재한다.
- Bot의 수량을 늘린다.
- 베이스
- 선택과 수정
- Bot 선택을 순차적으로 한다. + Bot의 수량을 늘린다.
- chat.postMessage의 API를 최 우선으로 실행한다.
- API와 통신하기 위해 Main Bot을 생성한다.
- 기존 Bot을 Sub Bot의 개념으로 전환 후 위 API의 통신이 실패 시 Sub Bot(1)의 WebHook을 이용하여 메세지를 보낸다.
- 3번의 프로세스 중 또한 번의 오류가 발생하였다면 다음인 Sub Bot(2)의 WebHook을 이용하여 메세지를 보낸다.
- 3번과 4번의 프로세스를 재귀함수로서 구현하여 마지막 Bot까지 동작을 실행한다.
- 5번 프로세스 까지 동작하였음에도 오류가 발생하였다면 로그를 남기며 Lambda를 종료한다.
- Bot 선택을 순차적으로 한다. + Bot의 수량을 늘린다.
반응형
'ETC' 카테고리의 다른 글
ubuntu amazon corretto 제거 (yum 미사용) (0) | 2024.11.01 |
---|---|
맥OS 파인더에 휴지통을 추가하기 (1) | 2023.12.01 |
사내 담당 업무 기록 1 (0) | 2023.08.17 |