Just because I've found myself doing this several times, you might give an example of how to run an existing WSGI application in twisted.

I would suggest Trac, since you can just import trac.web.main.dispatch_request and pass it as your WSGI application object, plus it's something that I know I often end up using in tandem with web projects.

-phil

On Dec 9, 2008, at 12:38 AM, Waldemar Osuch wrote:

Hi,
I'm trying to come up with an example on how to use the spanking new
twisted.web.wsgi
module.  Here it is.  Any comments?

8 < --------------------------------------------------------------------------------------------

from twisted.internet import reactor
from twisted.application import service, internet
from twisted.web import server, static, wsgi
from twisted.python import threadpool


def wsgi_app(environ, start_response):
   status = '200 OK'
   response_headers = [('Content-type', 'text/plain')]
   start_response(status, response_headers)
   return ['Hello from twisted.web.wsgi']


class WSGIService(service.Service):
   def __init__(self, minPoolSize=5, maxPoolSize=20):
       self.pool = threadpool.ThreadPool(minPoolSize, maxPoolSize)

   def startService(self):
       self.pool.start()
       service.Service.startService(self)

   def stopService(self):
       self.pool.stop()
       service.Service.stopService(self)


application = service.Application('wsgi')

root = static.File("www/documents")
site = server.Site(root)
internet.TCPServer(8080, site).setServiceParent(application)

serv = WSGIService()
root.putChild('wsgi', wsgi.WSGIResource(reactor, serv.pool, wsgi_app))
serv.setServiceParent(application)

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web


_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to