2012-12-06 4 views
2

Thin에 대한 코드/문서는 기본 연결 제한 시간이 30 초라고 제안합니다. 그러나이 테스트를 시도 할 때 작동하지 않는 것 같습니다. 내가 뭘 놓치고 있니?씬 서버가 시간 초과되지 않음

저는 최신 v1.5.0을 사용하고 있습니다. 다음

# Test this using: curl -X GET http://localhost:3000/test. You will find that the request does not 
# timeout after 30s. 

require 'thin' 

class SimpleAdapter 
    def call(env) 
    sleep 100 
    body = ["hello!"] 
    [ 
     200, 
    { 'Content-Type' => 'text/plain' }, 
     body 
    ] 
    end 
end 

server = Thin::Server.new('127.0.0.1', 3000) do 
    map '/test' do 
    run SimpleAdapter.new 
    end 
end 

server.start! 
+0

30 초 제한 시간을 제시하는 설명서를 참조 할 수 있습니까? – udoprog

+0

코드를 보면 DEFAULT_TIMEOUT이 30 초로 설정됩니다. 또한 명령 줄 러너를 사용하고 'thin -h'를 수행하면 도움말에 '-t, --timeout SEC 요청 또는 명령 시간 초과 (기본값 : 30)'가 표시됩니다. – Kowshik

답변

5

인라인 문서 상태 : 연결하기 전에 도착 들어오는 데이터에 대한 초

최대 번호가 삭제됩니다.

telnet localhost 3000 

을 30 초 동안 기다리는 연결을 삭제 : 서버에 텔넷 경우

그리고 씬이 제대로 그 동작을 표시, 즉,. 그러나 cURL 명령은 이미 완료된 HTTP 요청을 씬 서버에 보냅니다. 따라서 들어오는 데이터을 기다리는 시간 제한은 절대로 도달하지 않습니다.

관련 문제