即使系统抛出500,是否可以将http请求状态设置为200?我有一个正在运行的任务。当 GAE 抛出 http 请求 500 时,我想在任务结束时手动将其设置为 200,以防止重试任务。
问问题
312 次
1 回答
3
返回200 状态代码的典型模式是将代码包装在try
andexcept
子句之间:
try:
do your stuff
except:
logging.error("Something bad happened")
这个例子捕获了所有总是返回 a 的异常200 status code
,在你的应用程序中你可能想要添加一个适当的异常列表来捕获;对于某些类型的瞬态异常,引发 500 错误是正确的,该错误隐含地告诉 App Engine 再次尝试该任务。
编辑:
正如正确建议的那样,您应该使用logging.exception
而不是logging.error
在日志中包含堆栈跟踪。
try:
do your stuff
except:
logging.exception("Something bad happened") #It will log the stacktrace too
这还有第二个好处,它允许您在启用ereporter服务后通过电子邮件接收日志报告。
于 2011-01-13T08:03:34.507 回答