[Web-SIG] WSGI Open Space @ PyCon.

Jean-Paul Calderone exarkun at divmod.com
Mon Mar 30 02:11:46 CEST 2009


On Sun, 29 Mar 2009 16:21:36 -0700, Robert Brewer <fumanchu at aminus.org> wrote:
>We had a smaller third meeting and answered more issues.

Hi all,

First, thanks for writing up these reports.

> [snip]
>
>Asynchronous WSGI support
>-------------------------
>
>Mostly non-existent. Fix it? Fork it? Drop it? Glyph seemed to think
>we're really close if we fix wsgi.input.
>

Those who were present know that I couldn't understand Glyph's proposed
solution.  After the meeting we worked on some details and wrote some
code (completely non-working, not even syntactically correct).

The result looks something like this:

    @asyncApp
    def application(environ):
        yield "foo"
        yield "bar"
        folders = yield imapFolders()
        for folder in folders:
            yield "Folder:", folder

Where `asyncApp` and `imapFolders` are two functions provided by the
async WSGI container (maybe they're generalizable and can be shared
between different async WSGI containers, or maybe not, I'm not sure
yet).

In Twisted's case, `asyncApp` ends up as about 20 lines, which doesn't
seem too bad (I can share it if anyone is interested in the specifics,
it's mostly just gross generator/Deferred mangling stuff).

Jean-Paul


More information about the Web-SIG mailing list