m2wsgi

소프트웨어 스크린 샷:
m2wsgi
소프트웨어 정보:
버전: 0.5.2
업로드 날짜: 15 Apr 15
개발자: Ryan Kelly
라이센스: 무료
인기: 8

Rating: nan/5 (Total Votes: 0)

.

m2wsgi 파이썬 Mongrel2 파이썬 애플리케이션의 쉬운 배포를 허용, Mongrel2 웹 서버에 대한 WSGI 게이트웨이 핸들러를 제공 모듈 & NBSP이다 또한 파이썬에서 비 WSGI 핸들러를 개발하는 데 유용의 지원 클래스를 찾을 수 있습니다.
명령 줄 사용
이 패키지를 사용하는 가장 간단한 방법은 명령 줄 실행과 같습니다 :
파이썬 -m m2wsgi dotted.app.name TCP : //127.0.0.1 : 9999
이 지정된 요청 포트에 Mongrel2에 연결하고 지정된 WSGI 애플 리케이션을 통해 전달하여 요청을 처리하기 시작합니다. 기본적으로 모든 요청을 처리하는 단일 작업자 스레드를 얻을 것이다; 그래서 같은 스레드의 수를 증가 :
파이썬 -m m2wsgi --num - 스레드 = 5 dotted.app.name의 TCP : //127.0.0.1 : 9999
스레드가 일하지 않은 경우 또는과 같이 주위의 비트를 셔플 eventlet를 사용 :
파이썬 -m m2wsgi --io = eventlet dotted.app.name TCP : //127.0.0.1 : 9999
나는 그런 gevent 같은 다른 IO 모듈에 대한 지원을 추가에 관심이 있어요; 기여는 환영합니다.
프로그래밍 사용
좀 더 복잡한 요구 사항이있는 경우에, 당신은 당신의 응용 프로그램 내에서 m2wsgi 사용할 수 있습니다. 메인 클래스는 단순 서버 인터페이스를 제공하는 'WSGIHandler'이다. 위의 명령 줄 사용하는 것과 동일합니다 :
m2wsgi.base 수입 WSGIHandler에서
핸들러 = WSGIHandler (my_wsgi_app, "TCP : //127.0.0.1 : 9999")
handler.serve ()
핸들러와 Mongrel2 사이의 연결을 통해보다 세밀하게 제어, 자신의 연결 개체를 만들 :
m2wsgi.base 수입 WSGIHandler, 연결에서
CONN = 연결 (send_spec = "TCP : //127.0.0.1 : 9999",
& NBSP; recv_spec = "TCP : //127.0.0.1 : 9999",
& NBSP; send_ident = "9a5eee79-dbd5-4f33-8fd0-69b304c6035a")
핸들러 = WSGIHandler (my_wsgi_app 코네티컷)
handler.serve ()
우리는 이미 이들 중 하나가 없으십니까?
실제로 몇 가지 :
& NBSP; * https://github.com/berry/Mongrel2-WSGI-Handler
& NBSP; * https://bitbucket.org/dholth/mongrel2_wsgi
그들 중 누구도 완전히 내 요구를 충족하지 않습니다. 특히,이 패키지는 투명 지원을하고있다 :
& NBSP; * 청크 응답 인코딩
& NBSP; 큰 요청 기관의 * "비동기 업로드"
& NBSP; * 플러그 IO 백엔드 (예 : eventlet, gevent)
또한 Mongrel2을 위해 특별히 처음부터 설계되었습니다. 이는 무료 기능을 끄는 수단, 및 코드 결과로서 간단하고 가볍다.
예를 들어, 예에서 볼 수 있듯이 스레드 요청 큐의 명시 적 관리가 없다 CherryPy 서버. 대신, 당신은 당신이 자동으로 요청의 부하를 분산합니다 mongrel2 (zmq를 통해) 모두가 동일한 핸들러 소켓에 연결해야하고, 필요한만큼의 스레드를 시작합니다.
마찬가지로, 코드가 변경 될 때 다시로드에 대한 명시 적으로 지원이 없습니다. 그냥 오래된 처리기를 죽이고 새로 시작합니다. 당신이 고정 핸들러 UUID를 사용하는 경우 다음 zmq 핸드 오버가 정상적으로 작업을 완벽하게 수행합니다

이 요구 사항 :있다.

파이썬

이 제한 사항 :

이 여러 스레드를 실행하는 경우, CTRL-C 깨끗하게 프로세스를 종료하지 않습니다. 배경 스레드가 차단 RECV에 들러 붙어 것 같다 ().
zmq로드 밸런싱 알고리즘은 적합하지 않습니다 욕심 라운드 로빈입니다. 예를 들어, 다른 쓰레드가 사용 가능하게 되더라도 그들이 기다려야하게 느린 것과 동일한 스레드 빠르고 여러 요청을 스케줄 할 수있다. 더 나은 뭔가를 할 수 zmq 어댑터에서 일하고 있어요.

개발자의 기타 소프트웨어 Ryan Kelly

extprot
extprot

28 Feb 15

promise
promise

28 Feb 15

Playitagainsam
Playitagainsam

20 Feb 15

코멘트 m2wsgi

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!