SendQueue 와 잦은통신(404Forbidden)

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

  • 프로젝트명 : 아테네키우기온라인
  • 뒤끝SDK 버전 : 5.4
  • 에러 코드 :

sendqueue를 사용해서 한번에 많은 양의 데이터를 전송한다고 해도 잦은통신으로 인해 5분간 막힐수있나요?

안녕하세요 개발자님,
데이터의 양과는 관계없이 잦은 요청에 따라 발생하는 에러입니다.
sendqueue를 이용하실 때 짧은 시간내 많은 요청을 진행하는게 아니라면 이용하는데 불편은 발생하지 않은 것입니다. :slight_smile:

Sendqueue.Enqueue를 짧은 시간내 많이 호출하면 에러가 발생한다는 의미인가요?

동기, 비동기, SendQueue등 뒤끝 서버에 대한 요청이 단기간 내에 많이 이루어질 경우 403에러가 발생합니다.

예시로 데이터 저장이나 서버 상태 체크를 진행하기 위해
1초에 한번씩 서버에 요청되는 로직일 경우에는 해당 에러가 발생할 가능성이 높습니다.

과도한 요청이 이루어지지 않도록 설정하여 이용해주세요.

제가 뽑기를 진행했을 때 , 20개의 변경된 데이터를 저장한 후에 결과물을 출력하고싶습니다. 이럴때에도 한개의 데이터를 저장할때마다 1초이상의 딜레이를 주어야할까요?

한번에 ㅁ많은 데이터를 저장하고자할때 어떤식으로 해야 빠르면서 에러나지 않게 저장할수있는지 궁금합니다

안녕하세요 개발자님

만약 해당 데이터들이 한 테이블에 존재한다면 Update시에 변경되는 컬럼들을 모두 수정하는 것이 좋겠지만,
변경되야하는 데이터가 여러개라면 트랜잭션 기능을 이용하는 것이 좋을 듯 합니다.

트랜잭션 기능은 최대 10개의 Insert, Get, Update, Delete를 묶어서 요청을 보내는 기능이며, 10개의 작업중 하나라도 실패할 경우에는 전부 실패하도록 리턴이 됩니다.

20번의 뽑기도중 중간에 오류가 나서 19개가 성공이고 하나가 실패가 되는 것보다는 10개중 하나라도 실패하면 실패처리하고 다시 뽑기를 하는 로직등으로 구현하는 것을 추천드립니다.

403 Forbidden의 조건은 1초보다는 단기간 내에 급격히 많은 데이터를 보낼 때 발생하는 것입니다.
비이상적일 정도로 함수를 호출할 때만 발생하는 것이므로, 연속해서 4~5개의 작업을 처리하는 것은 문제가 없다고 봅니다.

트랜잭션 기능에 대해서는 아래 개발자문서를 참고해주세요.