Задача App Engine не повторяется при ошибке - PullRequest
2 голосов
/ 18 июня 2010

В моей локальной среде разработчика, когда задача App Engine, добавленная в очередь задач, обнаруживает ошибку, она повторяется до тех пор, пока не будет выполнена успешно. Однако в производственной среде это не так. Я думаю, что происходит потому, что у меня есть собственный обработчик 500 в urls.py, все ошибки отлавливаются этим, и ошибка 500 никогда не всплывает наверх.

Может ли это быть причиной того, что мои задачи не повторяются? И если так, есть ли способ предотвратить это? Я хочу, чтобы ошибки обрабатывались представлением handler500 только в том случае, если запрос сгенерирован пользователем, а не серверной задачей (для них я хочу, чтобы ошибка всплывала и вынуждала повторяться).

1 Ответ

5 голосов
/ 18 июня 2010

Задача повторяется в очереди задач, если она возвращает код состояния, отличный от 200.Если ваш «пользовательский обработчик 500» возвращает код состояния 200, то в очереди задач нет способа узнать, что задача не выполнена, поэтому она не повторяет ее.Вам нужно изменить свой обработчик, чтобы он возвращал соответствующий код состояния - что он должен делать независимо от того, в том числе для пользовательских страниц.

...