Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 谷歌应用引擎请求状态_Google App Engine_Task Queue - Fatal编程技术网

Google app engine 谷歌应用引擎请求状态

Google app engine 谷歌应用引擎请求状态,google-app-engine,task-queue,Google App Engine,Task Queue,即使系统抛出500,是否可以将http请求状态设置为200? 我有一个正在运行的任务。当GAE抛出http请求500时,我想在任务结束时手动将其设置为200,以防止任务被重试 返回200状态代码的典型模式是将代码包装在try和之间,但子句除外: try: do your stuff except: logging.error("Something bad happened") 此示例捕获始终返回200状态代码的所有异常,在您的应用程序中,您可能希望添加要捕获的适当异常列表;

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

返回200状态代码的典型模式是将代码包装在
try
之间,但
子句除外:

try:
  do your stuff      
except:
  logging.error("Something bad happened")
此示例捕获始终返回
200状态代码的所有异常,在您的应用程序中,您可能希望添加要捕获的适当异常列表;对于某些类型的瞬态异常,正确的做法是引发一个500错误,该错误隐式地告诉AppEngine再次尝试该任务

编辑:
正如正确建议的那样,您应该使用
logging.exception
而不是
logging.error
将堆栈跟踪包含在日志中

try:
  do your stuff      
except:
  logging.exception("Something bad happened") #It will log the stacktrace too

这还有第二个好处,它允许您在启用服务后通过电子邮件接收日志报告。

您是否可以关闭重试?请使用logging.exception而不是logging.error,这样它将包含stacktrace。如果您有时间,我想看一个使用logging.exception将stacktrace包含在日志中的代码示例。