AivanF. Asked:2020-11-01 15:45:07 +0000 UTC2020-11-01 15:45:07 +0000 UTC 2020-11-01 15:45:07 +0000 UTC Google App Engine:等待来自 URL 错误的 HTTP 响应时超出了最后期限 772 使用来自Google App Engine Python框架的 HTTP 请求时,有时会出现错误: HTTPException:等待来自 URL 的 HTTP 响应时超出了期限:...`。 如何延长请求超时? python 1 个回答 Voted Best Answer AivanF. 2020-11-01T15:45:07Z2020-11-01T15:45:07Z 会发生什么:当向Google App Engine发出外部 HTTP 请求时,框架会调用URLFetch服务。那里会创建一个错误DeadlineExceededError,然后 Python GAE 客户端拦截它并改为抛出它HTTPException。 解决方案: URLFetch有自己的截止日期逻辑,您可以控制。标准的截止时间是 5 秒,这对于某些请求来说是不够的。该怎么办: # подключить нужный модуль from google.appengine.api import urlfetch # поставить новый дедлайн (в секундах) urlfetch.set_default_fetch_deadline(20) 细微差别: 截止日期仅为当前正在执行的线程设置,因此您需要分别设置每个执行线程的最大等待时间。 值得注意的是,最大超时为 60 秒,即使您将截止日期设置得比这更长,持续超过一分钟的请求也会抛出DeadlineExceededError。 GAE 文档的有用链接: URLFetch 文档 处理 DeadlineExceededErrors 翻译和响应改进:HTTPException: Deadline exceeded while waiting for HTTP response from URL
会发生什么:当向Google App Engine发出外部 HTTP 请求时,框架会调用URLFetch服务。那里会创建一个错误
DeadlineExceededError,然后 Python GAE 客户端拦截它并改为抛出它HTTPException。解决方案: URLFetch有自己的截止日期逻辑,您可以控制。标准的截止时间是 5 秒,这对于某些请求来说是不够的。该怎么办:
细微差别:
截止日期仅为当前正在执行的线程设置,因此您需要分别设置每个执行线程的最大等待时间。
值得注意的是,最大超时为 60 秒,即使您将截止日期设置得比这更长,持续超过一分钟的请求也会抛出DeadlineExceededError。
GAE 文档的有用链接:
URLFetch 文档
处理 DeadlineExceededErrors
翻译和响应改进:HTTPException: Deadline exceeded while waiting for HTTP response from URL