0

tweepy을 사용하여 트위터 해시 태그를 수신하는 앱을 개발 중입니다. 내 앱을 Google App Engine에 업로드했는데 오류가 발생했습니다. 역 추적의URL에서 HTTP 응답을 기다리는 중 마감 시간이 초과되었습니다 : HTTPException

마지막 라인 :

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

을 초과 여기에 코드의 일부 (즉, 관련 부분) –

+1

URL을 치려고하면 인증을 요청합니다. 제대로 인증 되었습니까?이 오류가 발생하기 전에 요청이 1 분 동안 중지되는 것일 수 있습니다 어떤 경우 든 바락 마노 (barak manos)가 지적했듯이, 우리는 할 수있는 일을보기 위해 일종의 코드가 필요합니다. – Patrice

+0

@barakmanos이 [project] (https://github.com/KaveenR/SiripalaBot/blob)를 사용하고 있습니다. /master/bot.py) – Bishan

답변

2

URL 가져 오기의 기본 시간 제한을 설정할 수 있습니다. 기본적으로 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

+0

이 스크립트를 내 스크립트에 추가했습니다. 'urlfetch.set_default_fetch_deadline (45)'. 하지만 효과가 없습니다. – Bishan

+2

프로젝트의 루트에서 appengine_config.py를 만들고 그 설정을해야 할 수도 있습니다. 그것은로드시에 파이썬 모듈 설정 (당신이 오버라이드하고 설정할 수있는 곳)입니다. https://cloud.google.com/appengine/docs/python/tools/appengineconfig –

0

을 내가 요청에 따라 jenkinsapi 라이브러리를 사용하여 젠킨스의 CI 서버와 상호 작용 GAE에 대한 간단한 응용 프로그램을 실행하고 있습니다. 내 앱에서 jenkinsapi와 요청을 모두 출하 중이지만 Google Cloud SDK에 존재하지만 요청은 GAE에서 지원되지 않습니다. jenkinsapi 내가 자주 그것은 재시도 그 숫자가 0 밝혀졌다 및 제한 시간이 매우 낮은 기본이었다

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 

얻고 있었다, 서버에 요청 아픈 번호를 전송합니다. 라이브러리를 패치해야하는 두 숫자를 모두 늘리면 도움이되었고 더 이상이 문제가 보이지 않습니다.

사실, 그것은 여전히 ​​발생하지만 : URL의 HTTP 응답을 기다리는 동안 의해 고장 접속 후

다시 시도 (3 회가 남아) 'HTTPException ('기한에 대해 당신이 몇 가지를 추가하는 방법 ...