durusmail: quixote-users: Re: CGIHTTPServer
CGIHTTPServer
2003-05-22
2003-05-22
Re: CGIHTTPServer
2003-05-22
2003-05-22
2003-05-22
2003-05-22
Re: CGIHTTPServer
2003-05-22
2003-05-23
Re: CGIHTTPServer
Graham Fawcett
2003-05-22
Mark Bucciarelli wrote:
 > Hi Andrew,
 >
 > On Thursday 22 May 2003 9:52 am, Andrew Kuchling wrote:
 >
 >>On Mon, May 19, 2003 at 04:00:45PM -0400, Mark Bucciarelli wrote:
 >>
 >>>I can't get Quixote to work with Python's CGIHTTPServer.  This
 >>>issue
 >>
 >>Why not use Medusa, Twisted, or even Apache instead?
 >
 >
 >>From my research, I thought I saw issues with Medusa and Quixote.
 > Sorry, I no longer have the URL.  Perhaps it was just on Windows?

Perhaps there was an old issue, but I'm using Quixote/Medusa on Windows
and am having no problems whatsoever. Re: performance, trivial
apachebench tests comparing Quixote/Medusa and Quixote/Twisted (in the
same Python process, not using *cgi) showed negligible differences.

 > Simplicity of installation is very important to me.  The requirements
 > are to create a one-click installer for Windows that will support up
 > to ten users, with most installs being smaller and many being
 > stand-alone.  I thought this was a good match for a pure Python
 > implementation.

That's similar to my target. Both Medusa and Twisted are both easy to
install, and could be folded into your installer without trouble.

For simplicity, I've just inserted medusa as a subpackage of
quixote.server. Quixote finds it easily, and any distutils tool that's
looking for it will find it without any trouble. (I should add that
Quixote is the only package I use that makes use of Medusa, so marrying
the two makes sense in my situation.)


 > Since I'm using pure Python, won't the interpreter always stay open?
 > (I should read up if to check if popen spawns aother
 > interpreter--IIRC, that's how CGIHTTPHandler handles cgi requests.)

Sure. In fact, you can even run the server as a thread in an interpreter
session, so you have a prompt from which you can access internals of
your Web app while it's running. Or, if you use Medusa, it comes with a
built-in, remote-access protocol that lets you connect to the server via
a telnet-like script, and get the interpreter's REPL prompt. (I haven't
tried this with Medusa/Quixote yet.)

 >>The standard
 >>library's HTTPServer classes are useful as demos, but they'd need a
 >>lot of work for production use.

Agreed! Really, I think you'd be better off using Medusa or Twisted than
using the BaseHTTPServer derivatives. Once you've felt the power, you'll
never go back to the batteries-included side. ;-)

-- Graham



reply