gpt4 book ai didi

python - Appengine 任务运行 5 秒后抛出 DeadlineExceededError

转载 作者:行者123 更新时间:2023-11-30 23:06:27 24 4
gpt4 key购买 nike

我最近将一个应用程序从使用后端转换为模块。我使用后端来处理长时间运行的请求,主要是获取对外部 url 的请求(使用 requests 库)。自从更改我的应用程序以使所有内容都在单个默认模块上运行以来,我收到了 DeadlineExceededError 。即

DeadlineExceededError('The API call urlfetch.Fetch() took too long to respond and was cancelled.

我已阅读appengine documentation有一个:

60-second deadline for HTTP requests, 10-minute deadline for tasks

我正在运行的请求作为任务运行(使用 deferred.defer(...) )。然而,任务从 15:51:54.489 开始,到 15:51:59.600 结束——抛出错误之前总共 5 秒。

在 app.yml 中启用自动缩放,如下所示:

automatic_scaling:
min_idle_instances: 1
max_idle_instances: 1
max_pending_latency: 1s

我不清楚为什么会抛出这个截止日期错误。您能否告诉我如何避免抛出此错误?

最佳答案

正如异常提到的,错误来自 urlfetch.Fetch,每个出站 HTTP 请求都会在 App Engine 上路由,即使您使用 urllibrequests 或其他库。 urlfetch 的默认截止日期5 秒。所以问题是您对外部 URL 的 HTTP 请求超时。这似乎与您从后端切换到常规实例无关。可能是巧合。

This page概述了 DeadlineExceededError 背后的各种类型的错误。

关于python - Appengine 任务运行 5 秒后抛出 DeadlineExceededError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32635150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com