2013-07-10 5 views
2

RESTful API에 대한 많은 동시 호출을 실행할 도구를 만들고 있습니다. 나는 파이썬 "요청"모듈과 "스레딩"모듈을 사용하고 있습니다. 시스템에 너무 많은 동시 가져 오기를 한 번 수행하면 다음과 같은 예외가 발생합니다.http 연결 풀을 오버런시키지 않으려 고합니다.

ConnectionError : HTTPConnectionPool (host = 'xxx.net', port = 80) : 최대 재시도 횟수가 url :/thing/subthing/원인 : [Errno 10055] 시스템에 충분한 버퍼 공간이 없거나 큐가 가득 차서 소켓 작업을 수행 할 수 없습니다.

버퍼와 큐 공간을 늘리려면 어떻게해야합니까? 사용 가능한 슬롯을 기다리는 모듈을 요청 하시겠습니까?

답변

3

session를 사용

는 (I 내가 "시도"루프에 물건 수 알지만, 그 서투른 것 같다). requests.request 패밀리 (get, post, ...)를 사용하는 경우 각 요청은 연결 풀링을 사용하지 않으므로 자체 연결 풀과의 자체 세션을 사용합니다. 당신이 세션 내에서 사용하는 연결 수를 미세 조정해야하는 경우

, 당신은 HTTPAdapter

+1

세션이 속임수를 썼는지의 변경하여이 작업을 수행 할 수 있습니다. 아주 좋아. –

관련 문제