2017-11-23 13 views
0

안녕하세요. 오징어로 이해하고 파이썬으로 친구들을 사귀지 말라고 충고합니다. 나는 비동기 도우미를 오징어에 쓴다. 오징어는 다음을 조정했습니다 :squid external_acl_type 동시 응답

external_acl_type aclproxy3 ttl = 300 children-max = 1 concurrency = 100% LOGIN python -u /opt/agent/helper.py proxy3. 

오징어는 번호를 지정하여 도우미에게 요청을 보냅니다.

도우미는 상기 포맷 사양에 따라, 각 입력 라인 확장 라인 1 개 라인의 시작을 반환 받는다 : '0', '데이터'], [ '1', '데이터'] 도크 말한다 OK/ERR/BH 결과 코드와 선택적으로 추가 키워드 뒤에 세부 정보가 추가됩니다.

그러나 답변을 작성하는 방법을 모르겠습니다. 사실, 요청은 1,2,3 순서로 이루어지며 2,1,3을 만족시킵니다. 따라서 해답도 식별해야합니다. 그러나 어떻게? 이 단계에서 나는 gevent 스택에 쓰여진 방식대로 문제를 해결했습니다. 사실 모든 요청이 먼저 추가 된 다음 모든 요청이 순서대로 처리되고 그 결과가오고 동일한 순서로 OK/ERR이되며 두 번째 및 세 번째 요청이 처리 된 경우 기다립니다 모든 순서대로 대답하는 첫 번째 명령의 끝. 주사위입니다. 이해합니다. 그래서 저는 조언을 구합니다. 누군가 이미이 주제를 파헤 칠 수 있습니까? 프로토콜 요청/응답 앞에 쿼리 채널 태그를 도입함으로써 변경된다 동시성 = 옵션을 사용할 때 어떤 힌트

답변

0

답변을 감사 문서

에서 발견되었다. 쿼리 채널 태그는 0과 동시성 -1 사이의 숫자입니다. 이 값은 요청과 관련된 응답의 첫 번째 부분 인 으로 변경되지 않고 Squid에 그대로 반영되어야합니다. 예를 들어,이 표준 입력을 얻을 수있다 인용구

: 0 데이터], [1 데이터] ... 1 OK가 리턴해야 0 ERR