UPDATE: after a lot of work with Py3, including recording my own asynchronous web server (after the presentation presented by Dave Beasley), I finally dumped Python (and a huge stack of my code) -: CoffeeScript works in favor of NodeJS . Check this out: GitHub (where today you'll find 95% of all the interesting code), npm (a package manager that might not be user-friendly, good speed easy_install, you never lived up to your name), an insanely huge repository of modules (with lots new materials that are published almost 24/7), a huge and vibrant community, ready-made asynchronous HTTP and file processing ... all this (thanks to V8 ) at the third speed of light- what do not like? read more agitation: "The Future of Scripts" (slide hosting courtesy of SpreeWebdesign ).
I am looking for a way to serve HTTP (and execute HTTP requests) in asynchronous, non-blocking mode. This seems difficult when you decided on Stackless Python 3.1 (also see here for docs), just like me.
There are a few basic examples, such as a rather informative and detailed article How to use Linux epoll with Python , and there is a Google code project called stacklessexamples that contains some valuable information (but not compatible with Python 3.x code).
So, after many days of researching the Internet and trying to collect the fragments so far found: does anyone know about the asynchronous HTTP library is quite useful? It should not be compatible with WSGI (it does not interest me).
The server side should be able to serve several non-blocking HTTP requests (and, possibly, based on the processing of HTTP headers); the HTTP client should be able to non-integrate web content through HTTP requests (also perform basic header processing, but does not have any fancy stuff like authorization or so).
My research so far has shown me that non-blocking HTTP
- the only way that makes sense in a free, consistent environment;
Stackless Python 3 select epoll ( Py2.6, libevent, pyevent, , Py2.5);
, , HTTP.
, HTTP-/ . , , " ".
. , select.epoll; , , , , asyncore (, , - ). Ubuntu 9.10.