Pythonic way of web-programming

Neil Schemenauer nas-usenet at arctrix.com
Mon Apr 7 01:02:08 CEST 2003


Chuck Swiger <cswiger at mac.com> wrote:
> Do your queries against FedEx's system need to be atomic, and in what 
> ways?

They should be but I don't think they actually are.  I'm getting
out of my depth here because I'm not an expert on the FedEx API.

> If you want is to make multiple outstanding transactions
> against a server asyncronously using an event-driven system
> without blocking

We don't need to do that since we are currently not using an
event driven model.  Like I said previously, making the system
work using an event driven model is possible but would require
making changes.

> I certainly agree with your general notion: programming
> paradigms may be well-suited for some tasks and not well-suited
> for others.  Perhaps it's not clear to me what else you had in
> mind: non-blocking I/O like select() or poll()?  What kind of
> SMP dispatch system are you using now?

We using a "pre-fork" model, similar to what Apache 1.3 uses.
There are multiple worker processes that receive requests from a
manager process.  The application interfaces with the web server
using mod_scgi.  Most requests are handled quicky so one process
handles almost all requests.  The other processes are there for
CPU intensive requests or for requests that block on other
resources.

> Network server architectures tend to be event driven in design
> because most flavors of network IPC are quantized into discrete
> network packets by the lower levels of the system;

Maybe.  I think a more important reason is that most network
servers are network IO bound.  For a static HTML file server or
FTP server, event driven is the way to go, IMHO.

  Neil




More information about the Python-list mailing list