2017-05-03 11 views
0
내가 기본 설정과 RESTful 서비스 프레임 워크로 펄 Dancer2을 사용하고

에 여러 연결을 허용하는 방법(명령을 사용하여 Dancer2

dancer2 -a MyWeb :: 앱

템플릿 파일을 생성 할 수 자동 생성 된 MyWeb-App/lib/MyWeb/App.pm 파일에 "get"경로를 추가하십시오. 최근에 나는 하나의 요청에 오랜 시간이 걸리면 서버가 잠겨서 요청을 처리 할 수 ​​없다는 것을 알게되었습니다. 예를

get '/' => sub {# simple request to redirect to a static page 
    template 'index'; #template directive Templates all go into the views/ 
}; 
get '/compute' => sub{ 
    for (my $i=0;$i<1000000;$i++){ 
     wait(1000); #simulate long computation time 
    } 
    return "Done!"; 
}; 

를 들어 먼저 하나 개의 탭에서 http://myhost.com/compute는 하나의 연결 만이 한 번에 허용되는 날 것으로 보인다 링크 http://myhost.com/ 이전/컴퓨팅 경로가 완료 될 때까지 아무 것도 표시되지 않습니다 다른 탭에 입력하면 . 질문은 여러 연결을 허용하도록 Dancer2 서버를 설정하는 방법입니다. 즉 위에서 언급 한 두 개의 탭을 동시에 실행할 수 있습니까?

감사합니다.

+2

[Dancer :: Deployment] (https://metacpan.org/pod/distribution/Dancer/lib/Dancer/Deployment.pod) 및 [Dancer2 :: Manual :: Deployment] (https : // metacpan. org/pod/distribution/Dancer2/lib/Dancer2/Manual/Deployment.pod). –

+1

perldancer 웹 사이트에서 찾지 못한 링크에 대해 많은 감사드립니다. – wizardfan

답변

3

Dancer2 앱을 어떻게 배포합니까? plackup을 사용하는 경우 plackup이 사용하는 기본 서버가 단일 연결 만 지원한다는 것을 알아야합니다. 그러나 -s 옵션을 사용하면 여러 연결을 지원하는 Starman과 같은 것으로 변경할 수 있습니다. 자세한 내용은 Dancer2::Manual::Deployment을 참조하십시오.

그렇지 않은 경우 신청서에 대해 더 자세히 알려야합니다. 모든 공유 리소스에 대한 액세스가 필요하기 때문에 요청이 차단 될 수 있습니까?