我们会遇到以下错误模式:
- 有时我们有GAE应用程序请求处理持续很长时间,这会抛出
DeadlineExceededException
,因为GAE有1分钟的限制。这是文档所描述的,ok。 - 除了
DeadlineExceededException
,我们得到A problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. If you see this message frequently, you may be throwing exceptions during the initialization of your application. (Error code 104)
- 在接下来的几毫秒内进入GAE应用程序的后续请求以相同的
Error code 104
失败
问题:
- 为什么报告#2 ?
- 我们如何避免#3?这是GAE中的bug吗?这种失败的机制是什么?
正如Bruyere好心指出的那样,超时异常导致的相关线程终止详细说明如下:
如果并发请求是通过"threadsafe"标志启用的,那么所有其他正在运行的并发请求都会被错误码104杀死: