GAE Код ошибки 104 в запросе прерывает все одновременные запросы - PullRequest
1 голос
/ 16 января 2020

возникает следующая ошибка:

  1. Вызов API urlfetch.Fetch () был отменен, поскольку был достигнут общий срок выполнения HTTP-запроса .; вложенное исключение: java .io.IOException: com.google.apphosting.api.ApiProxy $ CancelledException: вызов API urlfetch.Fetch () был отменен, поскольку был достигнут общий срок выполнения HTTP-запроса.

2.apart from

com.google.apphosting.api.ApiProxy $ CancelledException: вызов API urlfetch.Fetch () был отменен, поскольку поток был прерван во время ожидания одновременные вызовы API .; вложенное исключение: java .io.IOException: com.google.apphosting.api.ApiProxy $ CancelledException: вызов API urlfetch.Fetch () был отменен, поскольку поток был прерван во время ожидания одновременных вызовов API

3. последующие запросы, поступающие в приложение GAE в течение следующих нескольких миллисекунд, завершаются с ошибкой Error code 104

RestTemplate restTemplate = new RestTemplate(getClientHttpRequestFactory());

try {           
    URI uri = new URI("https://sample/" + sessionId);           
    sessionInfo = restTemplate.getForObject(uri, SessionResponse.class);        } catch (Exception e) {             
     System.out.println(e.getMessage());        
}

Я устанавливаю тайм-аут для restTemplate как 50se c, этот код находится внутри перехватчик, где каждый запрос мигрирует в этот блок кода и выполняет

Я использую javax.servlet.Filter для переноса запросов туда, я получаю это второе исключение

Любые решения для этого будут оценены спасибо,

Appengine-web. xml файл

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <threadsafe>true</threadsafe>
    <runtime>java8</runtime>
    <system-properties>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties" />
    </system-properties>
    <url-stream-handler>urlfetch</url-stream-handler>
    <warmup-requests-enabled>false</warmup-requests-enabled>
</appengine-web-app>

1 Ответ

0 голосов
/ 17 января 2020

Код ошибки 104 в App Engine обычно означает, что ваш экземпляр сталкивается либо с проблемами OOM, либо из-за превышения срока исполнения.

Как я понимаю из ваших комментариев по вашему делу, возникает вторая проблема. Вариант решения этой проблемы - установить тип масштабирования на basi c -scaling . В случае базового масштабирования c ваше приложение будет отключено, только если оно не ответит в течение 24 часов.

Подробнее об этом можно прочитать здесь .

...