2017-11-01 9 views
1

예를 들어 Google Sentiment Analysis Java API에이어서 분석을 위해 서비스에 보낼 텍스트 샘플을 몇백 가지 보내고 있습니다. 지금은 API가 크게 느려지고 API 콘솔의 타임 라인과 상호 관련이있을 때마다 500 및 504 개의 오류가 발생합니다.Google NLP API에서 50x 오류 처리

이런 종류의 오류를 처리하는 데 권장되는 패턴이 있습니까? 5 초 후에 요청을 취소하고 다시 시도 할 수 있도록 API에서 시간 초과 매개 변수를 찾을 수 없습니다. API 호출을 미래로 래핑해야합니까?

답변

1

인 정확한 API를 찾고있었습니다.

문서 :

그리고 코드 :

LanguageServiceClient createLanguage() throws IOException { 
     RetrySettings retrySettings = RetrySettings.newBuilder() 
      .setTotalTimeout(Duration.of(60, ChronoUnit.SECONDS)) 
      .setMaxAttempts(2) 
      // Some other options 
      .build(); 
     LanguageServiceSettings.Builder sb = 
      LanguageServiceSettings.newBuilder(); 
     sb.annotateTextSettings().setRetrySettings(retrySettings); 
     return LanguageServiceClient.create(sb.build()); 
    } 
0

축소 된 지수 적 백 오프는 이런 종류의 오류를 처리하는 데 도움이 될 수 있습니다.

다음은 Google 클라우드 플랫폼의 두 링크입니다. 첫 번째는 사용하려는 상황을 설명하고 두 번째 링크는 몇 가지 예를 보여줍니다. 당신의 API 요청이 할당량을 치면 https://cloud.google.com/storage/docs/exponential-backoff

그 문제가 해결되지 않는 경우

https://cloud.google.com/apis/design/errors#error_retries

, 당신은 확인할 수 있습니다. 이 경우 할당량 인상을 신청할 수 있습니다.

가 NLP API의 용량은 분당 600 개 요청 (60초)이다

: 다소 동일한 것으로 보인다 100초 당 https://console.cloud.google.com/apis/api/language.googleapis.com/quotas

1000 요청 : 여기 https://cloud.google.com/natural-language/quotas#requests

+0

그래, 당신은 매우 가깝습니다. API에 조금 들어가면 LanguageServiceClient를 만들 때 설정할 수있는 RetrySettings가 있습니다. 자세한 내용은 내 대답을 참조하십시오. – Altair7852

+1

당신이 필요로하는 것을 발견했기 때문에 다행이고, 공유해 주셔서 감사합니다. –