2008-12-01 2 views
1

오랫동안 나는 웹 호스팅 제어판이 될 시간을 목표로하는 애완 동물 프로젝트를 시작하고 싶었지만 주로 Python 호스팅에 초점을 맞췄다. - 의미 사용자가 패널에서 Django/ 다른 프레임 워크 프로젝트를 생성/시작하는 방법을 만들고 싶습니다. 에 내 앱을 빌드하는 데 완벽한 도구가 있다는 것을 알았습니다. CherryPy.CherryPy for webhosting 제어판 응용 프로그램

이렇게하면 내가 원하는대로 할 수 있으며, 자체 HTTP/ HTTPS 서버로 앱을 만들 수 있으며, 모두 내가 좋아하는 프로그래밍 언어로 만들 수 있습니다.

하지만 이제 새로운 질문이 생깁니다. CherryPy는 스레드 서버이므로 이 작업에 적합할까요?

시간이 많이 걸리는 작업이 많으므로 작업 블록 중 하나가 다른 페이지에 액세스하려고 시도하는 나머지 사용자는 을 기다려야 결국 시간이 초과됩니다.

이런 종류의 문제는 포크 기반 서버에서 발생하지 않는다고 생각합니다.

조언 하시겠습니까?

+1

잘 모르겠 으면 좋겠지 만 Webfaction.com은 한 번에 : python-hosting.com이었고 패널은 사용자가 설명하는 것을 많이합니다. 물론 CherryPy의 제작자가 Webfaction을 시작했습니다 :-) – torial

답변

1

"스레드 된"서버와 "포크 기반"서버는 동일합니다. "스레드 된"서버는 실행 스레드가 여러 개 있습니다. 하나가 차단되면 다른 스레드는 계속됩니다. "포크 기반 (Fork based)"서버는 여러 프로세스를 실행하고 하나가 차단되면 다른 프로세스가 계속 진행됩니다. 유일한 차이점은 기본적으로 스레드 된 서버는 스레드간에 메모리를 공유하며 "fork 기반"은 기본적으로 메모리를 공유하지 않는다는 것입니다.

"subprocess"모듈은 스레드로부터 안전하지 않으므로 CherryPy에서 사용하려고하면 wierd 오류가 발생합니다. (This is Python Bug 1731717)

+0

왜 GIL을 고려하지 않았습니까? – webKnjaZ