Типичный шаблон для возврата кода состояния 200 заключается в переносе кода между пунктами try
и except
:
try:
do your stuff
except:
logging.error("Something bad happened")
Этот пример перехватывает все исключения, возвращая всегда 200 status code
, в вашем приложении вы можете добавить правильный список исключений для перехвата; для некоторых типов исключений transient правильно выдавать ошибку 500, которая неявно говорит App Engine о повторной попытке выполнить задачу.
EDIT:
Как правильно предложено, вы должны использовать logging.exception
вместо logging.error
, чтобы включить трассировку стека в журнал.
try:
do your stuff
except:
logging.exception("Something bad happened") #It will log the stacktrace too
Это второе преимущество: оно позволяет получать отчеты по электронной почте после включения службы ereporter .