2012-03-15 4 views
2

여러 서버의 webservices와 통신하기 위해 LWP :: UserAgent를 사용하고 있습니다. 서버는 한 번에 하나씩 만 접속됩니다. 각 응답은 완료하는 데 최대 30 분이 걸릴 수 있으므로 LWP 시간 초과를 30 분으로 설정했습니다.perl LWP : 요청 시간 초과와 다른 연결 시간 초과

서버에 전혀 연결할 수없는 경우 (예 : 웹 서버가 다운 된 경우) 같은 시간 초과가 적용됩니다. 그래서 내 응용 프로그램은 실행되지 않는 서버에 대해 30 분을 기다립니다.

두 개의 별도의 시간 제한을 설정하는 것이 가능합니까?

  1. 연결이 설정되기를 기다리는 짧은 메시지.
  2. 연결이 설정되면 응답을 기다리는 더 긴 응답입니다.

답변

0

서버에 연결할 수없는 경우에도 동일한 제한 시간이 적용되지 않습니다. 제한 시간 옵션은 매우 특정한 방식으로 작동합니다.

서버 연결에 대한 활동이 시간 초과 초 동안 표시되지 않으면 요청이 중단됩니다. 즉, 트랜잭션이 완료되고 request() 메서드가 실제로 반환되는 데 걸리는 시간은 일 수 있습니다.

데이터가 전달되는 동안 제한 시간이 트리거되지 않습니다. 콜백 함수 (문서의 REQUEST METHODS 섹션 참조)를 사용하여 데이터 전송이 얼마나 오래되었는지 확인하고 원하는 경우 완전히 종료 할 수 있습니다.

+0

문제는 서버에 연결할 수없는 경우 LWP가 전체 시간 초과를 기다리는 것입니다. – spuelrich