Google App Engine请求状态

时间:2011-01-13 07:02:39

标签: google-app-engine task-queue

即使系统抛出500,是否可以将http请求状态设置为200? 我有一个正在运行的任务。当GAE抛出http请求500时,我想在任务结束时手动将其设置为200,以防止重试任务。

1 个答案:

答案 0 :(得分:3)

返回 200状态代码的典型模式是将代码包装在tryexcept子句之间:

try:
  do your stuff      
except:
  logging.error("Something bad happened")

此示例捕获所有返回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服务后通过电子邮件接收日志报告。