我见过很多人都有这个问题。
Process terminated because the request deadline was exceeded. (Error code 123)
有没有人知道可能导致此问题的原因?我增加了项目的实例。我最小化了尽可能多的数据库连接,如果连接失败,我一定要抓住它并关闭我的连接。
获取此错误的一些请求花费的时间超过60秒,达到了App Engine标准的限制,但并非所有这些都达到了限制。有些错误是3-10秒。
谢谢
答案 0 :(得分:0)
这些请求中的一些可能会超时,因为请求已经在队列中等待您的应用程序太长时间。其中一些可能是loading requests,您可以通过installing a warmup handler修复这些问题,然后在用户请求到达之前加载您的应用。
另一种可能导致请求在队列中花费大量时间的可能性是,如果您有threadsafe
的值(如果您使用的是Twisted或NDB等异步框架,请使用threadsafe: true
)或max_concurrent_requests
并不能反映您的应用行为。 max_concurrent_requests
应该大致等于(响应的响应时间/响应的cpu时间);默认值为8,但如果您主要有同步请求,则可能需要将其设置得更低。
答案 1 :(得分:0)
此处记录了各种截止日期超出错误:https://cloud.google.com/appengine/articles/deadlineexceedederrors
并非所有截止日期都是平等的!
当请求超过截止时间时,会导致进程停止,这将中断并导致同一实例上的所有其他请求也失败。你会在日志查看器中看到104这些请求。