当您的应用程序从App Engine调用外部API时,可能会出现DeadlineExceededError错误。这意味着App Engine请求超时。为了解决此问题,您可以在请求前设置较长的超时时间或使用异步方式调用API。
以下是代码示例:
from google.appengine.api import urlfetch
url = "https://example.com/api"
result = urlfetch.fetch(url, deadline=60)
if result.status_code == 200:
# Process the response
else:
logging.error("Failed to fetch URL: %s (error code: %s)", url, result.status_code)
在这个例子中,我们将超时设置为60秒。您也可以使用类似的方式将请求发送到任务队列,然后异步处理响应。这样可以避免超时错误,因为您可以在不超时的情况下处理响应。