일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 수학
- dfs
- 프로그래머스
- type challenge
- 자바스크립트
- socket
- javascript
- Crawling
- 가천대
- 타입 챌린지
- TCP
- dp
- 쉬운 문제
- 타입스크립트
- 알고리즘
- HTTP 완벽 가이드
- HTTP
- 레벨 1
- Algorithm
- 그래프
- Nestjs
- typescript
- 크롤링
- 소켓
- Node.js
- BFS
- 프로그래머스 레벨 2
- 백준
- ip
- 문자열
- Today
- Total
kakasoo
[Meta] Service temporaily unavailable 본문
에러 상황
{
"message": "Service temporarily unavailable",
"type": "OAuthException",
"is_transient": false,
"code": 2,
"error_subcode": 1504018,
"error_user_title": "요청 시간이 초과되었습니다",
"error_user_msg": "기간을 줄이거나 더 적은 데이터를 검색하거나 비동기 작업을 사용하세요",
"fbtrace_id": "(생략)"
}
일시적으로 서비스를 이용할 수 없다는 메시지인데, 상세한 내용은 `error_user_title`와 `error_user_msg`을 통해 확인할 수 있다.
아마도 message는 카테고리 상 code 2에 해당하는 내용일 것이고 error title과 msg는 error_subcode 1504018에 따르는 것 같다.
이 에러는 메타 서버에 요청을 할 때, 장시간 응답이 처리되지 않으면 발생하는 에러로, 우리가 제어할 수 있는 부분은 아니다.
필자가 예상하는 원인은 axios와 같은 라이브러리를 사용해 connection timeout을 조절할 때, 너무 장시간을 설정한 것이다.
필자의 경우는 메타에서 장시간 기다려도 응답이 오지 않는 경우를 대비해 timeout 시간을 조금 더 늘려서 응답을 기다리게 했었다.
그러자 메타에서 이와 같이 본 적 없는 에러가 발생했는데, 아마도 이는 메타에서는 부하가 걸리는 경우를 대비해 커넥션을 끊는 것이다.
해결 방법
근본적으로 이 문제가 발생한 까닭은 장시간 기다려도 응답이 오지 않아 connection timeout을 늘린 데에 있었다.
어차피 기다려도 메타에서 커넥션을 강제로 끊고 있다면 connection timeout을 늘린 것을 다시 원상복구할 수 밖에 없다.
다만, 다시 connection timeout을 줄이면 다른 에러가 나오니, 시간을 줄이는 것 외에도 다른 조치가 필요한데 이는 위 문서를 봐야 한다.
이 문제에 대한 완벽한 해결 방법은 위 문서를 참고해서,
- API가 실패했을 경우를 캐치하여 일정 횟수 N만큼 재요청하는 로직을 추가한다.
- API를 요청하는 게 빈번해질 경우를 대비하여 각 요청 간 딜레이를 준다.
- 딜레이를 무한정 줘서는, 고객에게도 장시간 로딩을 띄워야 하므로 이 로직들은 백그라운드에서 돌 수 있도록 비동기로 빼야 한다.
- 비동기로 돌아가는 API 요청들 사이에서 딜레이를 줄 때에는 위 문서를 참고하여 시간 간격을 조정한다.
문제 상황과 해결 방법이 옳은지는 모르겠으나, 나는 부분적으로 이 방식을 적용했고, 위 에러는 그 후 본 적이 없다.
'도메인 > 마케팅' 카테고리의 다른 글
[Meta] API로 광고 생성하기 ( Campaign ~ AdCreative ) (0) | 2024.03.30 |
---|---|
[Meta] 용어 정리 (메타 자산 구조, 유저부터 유저의 자산까지) (0) | 2024.03.29 |
[Meta] Application does not have permission for this action (1) | 2024.03.26 |
[Meta] Application request limit reached (0) | 2024.03.25 |
스틱 - 112% 구독률의 신문 (0) | 2024.03.22 |