某些请求在我的 python 应用程序中无声地失败,间歇性且不可预测。失败的标志是:
以下是我的一系列请求的日志示例,每个请求都应该将实体写入数据存储区。你可以看到更低,更成功的请求,蓝色' i'存在,表示记录了info
级别日志。当我检查数据存储区时,为该请求成功编写了一个实体。
但是,对于失败的请求,您可以看到只有一个白色框,并且根本没有日志记录语句。当服务器返回200时,没有任何实体被写入数据存储区以获取此请求。
有没有人在App Engine上遇到过这样的事情?关于如何调试它的任何想法?我自己在多个不同的应用程序中看过它,但我从来没有弄明白。
修改
为了澄清,这里的主要问题是代码不会执行,这是由写入实体失败所测量的。虚假的200和缺乏记录是一个相关的症状。
答案 0 :(得分:2)
最初的评论,但似乎是此问题的解决途径:
鉴于行中根本没有日志语句,您似乎解压缩参数并在进入处理程序后立即记录它们,这开始看起来像基础架构/平台问题。
在这种情况下,最好打开public issue tracker issue,使用" Type-Production"作为标记,包括您应用的应用ID和时间范围,以及尽可能多的有关您的应用和请求处理程序的信息,平台支持将在分类过程中发现问题。
那就是说,值得检查处理程序,以确保无法从处理程序退出并发送200而不记录任何内容或看到异常。这完全取决于处理请求的代码的能力,它构建的库的堆栈等等。