2012-02-17 4 views
1

Twistedとmod_wsgiを一緒に使用してパフォーマンスを向上させることはできますか?TwistedでWSGIを使用する

> server.wsgi

:私はreactor.listenTCP(...)を開始しておりませんので

、どのように私はツイストの非同期メソッド?:

私が試してみました何を使うのですか

def application(environ, start_response): 
    status = '200 OK' 
    output = 'Pong!' 
    response_headers = [('Content-type', 'text/plain'), 
         ('Content-Length', str(len(output)))] 
    start_response(status, response_headers) 
    # How do I call a twisted async method from here?! 
    # like deferToThread(object.send, environ). 
    return [output] 

resource = WSGIResource(reactor, reactor.getThreadPool(), application) 

答えて

8

できません。

TwistedをWSGIコンテナとして使用する場合は、Twistedを使用します。 Apacheを使用する場合は、Apacheを使用します。ただし、ApacheをWSGIコンテナとして使用する場合、TwistedのイベントループはApacheがネットワークI/Oを行う方法と互換性がないため、Twistedの機能を使用することはできません。

WSGIResourceはTwistedのHTTPサーバーとWSGIの間の接着剤であるため、コード例で行っていることは二重に意味がありません。たとえ何らかの形で、実行中のApache HTTPDプロセスにmod_wsgiでねじれたとしても、Apacheがその役割を果たすため、WSGIResourceは必要ありません。

関連する問題