Последствия бесконечного цикла в Google App Engine?

Я не пользователь Google App Engine. Тем не менее, я понимаю, что вы платите за процессорное время и другие ресурсы. Каковы последствия, если вам случится создать бесконечный цикл? Будет ли Google когда-либо прекратить это, или вам придется как-то делать это вручную вручную?

Я - разработчик-любитель, обеспокоенный маленькой ошибкой, которая может стоить сотни.

3 ответа

Решение

(Я сотрудник Google, но у меня мало опыта работы с AppEngine. Пожалуйста, не считайте это "официальным" ответом.)

Я предполагаю, что вы используете API сервлетов Java - если нет, пожалуйста, укажите.

Из документов сервлета AppEngine:

Обработчик запросов имеет ограниченное количество времени для генерации и возврата ответа на запрос, обычно около 30 секунд. По истечении указанного срока обработчик запроса прерывается.

Я не знаю, как / происходит ли это в замкнутом цикле, который не позволил бы ВМ прервать его в "нормальной" Java.

Хотя Джон обрабатывал случай низкого уровня бесконечного цикла, также может быть ситуация, когда один из ваших обработчиков вызывается многократно, слишком много раз - возможно, вы случайно настроили что-то для резервного копирования всего своего хранилища данных каждую секунду, а не один раз в день., Теоретически, вы можете использовать много ресурсов, даже за 30 секунд. Тем не менее, вы все равно не рискуете накопить огромное количество зарядов. У вас есть возможность установить лимит того, сколько вы хотите "тратить" в день. Если у вас нет квоты, ваше приложение вернет ошибку, а не посадит вас в тюрьму должника.

Google AppEngine налагает ограничение на время, которое может занять запрос до его завершения,

Существует примерно 30 секундное ограничение на время, необходимое для того, чтобы запрос был обработан до его завершения. Однако незадолго до завершения процесса DeadlineExceededError исключение будет брошено.

Кроме того, существуют поминутные квоты, чтобы приложение не потребляло слишком много квоты за короткий промежуток времени. Маловероятно, что ваша заявка превысит поминутную квоту при нормальных условиях, но при необходимости можно запросить увеличение этой квоты.

Другие вопросы по тегам