2013-01-24 3 views
0

안녕하세요!마스터 모드의 uWSGI에서 ZEO 교착 상태가 발생했습니다.

uWSGI 배포로 마이그레이션 중입니다. 이 프로젝트는 ZOPE3의 절반이며 ZEO와 함께 ZODB를 다중 액세스에 사용합니다. 다음과 같이 uwsgi 데몬을 시작하면 :

uwsgi_python27 --http :9090 --wsgi-file /path/to/file 

모든 것이 정상적으로 실행됩니다. 싱글 프로세스 모드입니다. 블록이나 잠금이 없습니다. 나는 다음과 같은 응용 프로그램을 시작할 때 :

uwsgi_python27 --http :9090 --wsgi-file /path/to/file -p 3 

Everythig가 실행됩니다. 프리 포킹 모드입니다. 우리에게는 좋은 결과가 있습니다. 그러나 일부 요청은 차단됩니다. 나는 새로운 인스턴스가 시작될 때 앱이 1 요청을 차단한다고 의심한다. 2-3 개의 요청을 잠갔습니다. 다른 모든 것은 잘 작동합니다.

하지만이 같은 시작할 때 :

uwsgi_python27 --http :9090 --wsgi-file /path/to/file --master 

앱 출시를 있지만 요청이 제공되지 않습니다. 내가 curl localhost : 9090/some_page로 갈 때 절대로드하지 않는다. 디스크 사용량이없는 CPU가 없습니다. 그냥 잠궈 요.

누군가 특정 ZEO 동작을 알고 있습니까? FileStorage 만 실행하면 교착 상태없이 정상적으로 실행됩니다. uWSGI 동작의 마스터 모드에 대한 자세한 내용도 알려 주시면 감사하겠습니다.

답변

1

확인. 그래서 나는 그 일을 시작했다. 나는 ZEO의 rpc가 리눅스 포크와 잘 작동하지 않는다고 생각한다. 따라서 포크를 실행하기 전이 아닌 분기 된 프로세스에서만 앱을 시작해야합니다.

uwsgi의 구성 옵션은 또는 lazy-apps입니다.

ref : http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html