온라인 머신에서는 접속 로그를 필터링하여 다른 API로 전송해야 합니다.
처음에는 단일 프로세스여서 너무 비효율적이었습니다. 다중 프로세스 전송으로 전환한 후 가끔 비정상적인 오류가 발생했습니다. 로그(스크린샷 찍는 것을 잊었습니다... .)
간단히 말하면 포트가 충분하지 않아 오류가 보고됩니다
모든 로그는 API에 전송되는 요청입니다. 짧은 연결은 많은 양의 time_wait 상태를 생성합니다. 그리고 많은 수의 포트를 점유합니다
이러한 높은 동시성으로 인해 많은 수의 time_wait 상태 커널 조정이 발생합니다. 기본적으로 쓸모가 없으며 나중에 문제를 해결하기 위해 긴 연결로 변경되었습니다
특정 비즈니스 정보와 관련되어 있기 때문에 코드의 핵심 부분만 게시됩니다
import pycurl where True: url=myqueue.get() send_msg=pycurl.Curl() send_msg.setopt(pycurl.URL,url) send_msg.perform() print send_msg.getinfo(send_msg.HTTP_CODE)
요청 라이브러리 사용
import requests client=requests.session() headers = {'Content-Type': 'application/json', 'Connection': 'keep-alive'} where True: url=myqueue.get() r=client.get(url,headers=headers) print r.status_code
위 내용은 Python http 긴 연결 클라이언트 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!