Python 通过ndb减少日志混乱。添加带有延迟任务的\u流\u异常
我正在寻找减少错误日志混乱的方法 “浪费异常日志记录”最令人沮丧的用例之一是taskqueue任务失败时 当然,对于该特定示例,一个好的解决方案是Python 通过ndb减少日志混乱。添加带有延迟任务的\u流\u异常,python,google-app-engine,app-engine-ndb,Python,Google App Engine,App Engine Ndb,我正在寻找减少错误日志混乱的方法 “浪费异常日志记录”最令人沮丧的用例之一是taskqueue任务失败时 当然,对于该特定示例,一个好的解决方案是self.error(500),而不是引发异常——但此解决方案不适用于延迟.defer 我知道的重新触发延迟任务的唯一方法是向webapp处理程序引发异常 文档化的解决方案如下所示: class CompletedExpectedException(Exception): """This Exception is completely expe
self.error(500)
,而不是引发异常
——但此解决方案不适用于延迟.defer
我知道的重新触发延迟任务的唯一方法是向webapp处理程序引发异常
文档化的解决方案如下所示:
class CompletedExpectedException(Exception):
"""This Exception is completely expected.
We don't need to see it as "errors" in the logs, or GAE dashboard graphs."""
pass
# The following code, when on the 'global' app level, does not have an effect.
ndb.add_flow_exception(CompletedExpectedException)
# The following code does not work, either
class WarmupHandler(webapp2.RequestHandler):
"""/_ah/warmup or /_ah/start"""
def get(self):
ndb.add_flow_exception(CompletedExpectedException)
def post(self):
self.get()
除了将我的解决方案移动到任务队列
而不是延迟。延迟
-存在什么解决方案?添加流\u异常只是NDB的事情,它没有连接到任何更高级别,所以除非是小任务
中的代码引发异常,否则我认为它无法帮助您
通过延迟函数,您可以引发deferred.taskfailure
,以避免日志记录