我正在开发一个使用 tweepy 来监听Twitter哈希标签的应用。我已将我的应用程序上传到Google App Engine,它给出了以下错误。
追溯的最后一行:
File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/gae_override/httplib.py", line 524, in getresponse
raise HTTPException(str(e))
HTTPException: Deadline exceeded while waiting for HTTP response from URL: https://stream.twitter.com/1.1/statuses/filter.json?delimited=length
我怎么解决这个问题?
答案 0 :(得分:3)
你可以设置url fetch的默认超时,我相信它默认设置为5秒。该端点调用可能需要更长时间。也许30秒?
urlfetch.fetch(url=url, method=urlfetch.GET, deadline=30)
每个文档最多可以达到60个:https://cloud.google.com/appengine/docs/python/urlfetch/#Python_Fetching_URLs_in_Python
答案 1 :(得分:0)
我正在GAE上运行一个简单的应用程序,该应用程序使用依赖于请求的jenkinsapi库与jenkins CI服务器进行交互。我正在运送jenkinsapi以及我的应用程序的请求,GAE不支持请求,尽管它存在于我从中获取的Google Cloud SDK中。 jenkinsapi向服务器发送了大量的请求,我经常这样做
File "/base/data/home/apps/s~jenkins-watcher/v0-1.382631715892564425/libs/requests-2.3.0-py2.7.egg/requests/adapters.py", line 375, in send
raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='XXXXXXX', port=8080):
Max retries exceeded with url: XXXXXX
(Caused by <class 'gae_override.httplib.HTTPException'>:
Deadline exceeded while waiting for HTTP response from URL: XXXXXXXX
事实证明,重试次数为0,超时默认值非常低。增加两个数字,我必须修补库,这有帮助,我不再看到这个问题了。
实际上,它仍然会发生,但是:
在连接被HTTPException错误连接后重试(3次尝试仍然存在)(&#39;等待来自URL的HTTP响应时超过截止日期...