Я бы хотел поймать и обработать DeadlineExceededError, чтобы пользователи не видели стандартную страницу «Ошибка сервера», которую по умолчанию выдает App Engine.
Я знаю, что DeadlineExceededErrors не перехватывается при переопределении handle_exception в вашем обработчике запросов (мы уже делаем это).
Я до сих пор безуспешно пытался использовать пользовательскую конфигурацию error_handlers app.yaml примерно так:
error_handlers:
- error_code: timeout
file: timeout.html
... но это также, похоже, не перехватывает DeadlineExceededErrors, если я не делаю что-то не так.
Мне известно, что я могу использовать следующий шаблон для перехвата DeadlineExceededErrors внутри определенных обработчиков запросов:
class MainPage(webapp.RequestHandler):
def get(self):
try:
# Do stuff...
except DeadlineExceededError:
# Many Whelps! Handle it!
... но я бы не хотел добавлять это к каждому обработчику запросов в моем приложении.
Как я могу глобально поймать этих неуловимых присосок?