Как мога да настроя глобален манипулатор DeadlineExceededError?

Бих искал да улавя и обработва DeadlineExceededError, така че потребителите да не виждат стандартната страница „Грешка в сървъра“, която App Engine извежда по подразбиране.

Знам, че DeadlineExceededErrors не са уловени при заменяне на handle_exception във вашия манипулатор на заявки (ние вече правим това).

Опитах се, неуспешно досега, да използвам custom 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!

... но бих искал да избягвам да добавям това към всеки манипулатор на заявки в моето приложение.

Как мога глобално да уловя тези неуловими издънки?

8
задан kamens 28 July 2011 в 01:39
поделиться