문제

꽤 오랫동안 나는 웹 호스팅 제어판이되기 위해 시간을 목표로하는 애완 동물 프로젝트를 시작하고 싶었지만 주로 Python 호스팅에 중점을두고 있습니다. 즉, 사용자가 Django를 생성/시작할 수있는 방법을 만들고 싶습니다. / 기타 프레임 워크 프로젝트는 패널에서 바로 프로젝트입니다. Cherrypy와 함께 앱을 구축 할 완벽한 도구를 찾은 것 같습니다.

이를 통해 자체 HTTP/ HTTPS 서버로 앱을 구축하고 좋아하는 프로그래밍 언어로도 앱을 구축 할 수 있습니다.

그러나 이제 새로운 질문이 생깁니다. Cherrypy가 스레드 서버이므로 이런 종류의 작업에 맞습니까?

시간이 많이 걸리는 작업이 많이 있으므로 작업 중 하나가 차단되면 다른 페이지에 액세스하려는 나머지 사용자가 대기하고 결국 시간이 걸립니다.

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

무엇을 조언 하시겠습니까?

도움이 되었습니까?

해결책

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

또 다른 점 - "하위 프로세스"모듈은 스레드 안전하지 않으므로 Cherrypy에서 사용하려고하면 더 이상한 오류가 발생합니다. (이것은 파이썬 버그 1731717)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top