[Web-SIG] WSGI 2.0
Phillip J. Eby
pje at telecommunity.com
Thu Oct 4 18:56:12 CEST 2007
At 06:37 PM 10/4/2007 +0200, Manlio Perillo wrote:
>To make an example (not tested), suppose that a WSGI application keeps a
>global counter (as a thread specific data).
>When a new request arrives, the counter is reset to 0, and its value is
>incremented for every iteration.
>With all the existing WSGI implementation (as far as I know), we always
>know the current value of the counter: it will start at 0, reach the
>number of iterations, and then will start at 0 again.
So? An application that does this is obviously broken. Again,
remember that the WSGI spec encourages interleaving, so any
multi-threaded server is well within its rights to do the same thing.
There is nothing in WSGI that says multiple simultaneous requests
cannot be run in the same thread. Therefore, nothing is guaranteed
about what happens to global or thread-local resources while the
application (or its returned iterable) is not actually executing.
More information about the Web-SIG