[Web-SIG] Alternative to threading.local, based on the stack
Manlio Perillo
manlio_perillo at libero.it
Fri Jul 4 13:42:07 CEST 2008
Iwan Vosloo ha scritto:
> Hi,
>
> Many web frameworks and ORM tools have the need to propagate data
> depending on some or other context within which a request is dealt with.
> Passing it all via parameters to every nook of your code is cumbersome.
>
> A lot of the frameworks use a thread local context to solve this
> problem. I'm assuming these are based on threading.local.
>
> (See, for example:
> http://www.sqlalchemy.org/docs/05/session.html#unitofwork_contextual )
>
> Such usage assumes that one request is served per thread.
>
> This is not necessarily the case. (Twisted would perhaps be an example,
> but I have not checked how the twisted people deal with the issue.)
>
The natural solution with WSGI is to store objects in the environ
dictionary.
In fact in my web applications I always pass the environ dictionary
explicitly to every functions.
> [...]
Manlio Perillo
More information about the Web-SIG
mailing list