У нас есть API с Google App Engine. API состоит из поисковой системы, когда пользователь запрашивает идентификатор продукта, API возвращает json с группой других идентификаторов продукта (с определенными критериями). Это текущая конфигурация:
<instance-class>F4_1G</instance-class>
<automatic-scaling>
<min-idle-instances>3</min-idle-instances>
<max-idle-instances>automatic</max-idle-instances>
<min-pending-latency>automatic</min-pending-latency>
<max-pending-latency>automatic</max-pending-latency>
</automatic-scaling>
Мы используем app_engine_release=1.9.23
Процесс происходит следующим образом. У нас есть два обращения к хранилищу данных и обращение к urfetch (к внешнему API).
Проблема заключается в том, что время от времени мы получаем en error 204 с такой трассировкой:
ms=594 cpu_ms=0 exit_code=204 app_engine_release=1.9.23 Возникла проблема с процессом, который обрабатывал этот запрос, что привело к его завершению. Это может привести к использованию нового процесса для следующего запроса к вашему приложению. (Код ошибки 204)
Вот что мы получили в клиенте:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "backendError",
"message": ""
}
],
"code": 503,
"message": ""
}
}
Мы изменили количество резидентных экземпляров с 3 до 7 и получили ту же ошибку. Также ошибки возникают в одних и тех же экземплярах. Мы видим 4 ошибки за очень небольшой промежуток времени.
Мы обнаружили, что проблема заключалась в вызове urlfecth. Если мы ставим высокий таймаут, то он возвращает много ошибок.
любая идея, почему это происходит???