[mod_python] Best way to have an unique_id per request

Luca Montecchiani l.montecchiani at teamsystem.com
Thu Apr 24 04:14:56 EDT 2008


Graham Dumpleton ha scritto:

> Don't stick uniqidprog in req, it will always be 0 as a result. It
> needs to be a global module variable which is thread protected.
>
>   from threading import Lock
>   lock = Lock()
>   uniqidprog = 1
>
>   def _getunique(req):
>     lock.acquire()
>     value = uniqidprog
>     uniqidprog += 1
>     lock.release()
>
>     ... use
>   

In my own publisher I've many req.somevarname = somevalue
without worrying about locking simply because the docs suggest it :

"4.5.4 Request Object
The request object is a Python mapping to the Apache request rec 
structure. When a handler is invoked, it is
always passed a single argument - the request object.
You can dynamically assign attributes to it as a way to communicate 
between handlers."

> The req.connection.id would stay the same if keep alive is used and
> connection maintained.
>   
Ok this make sense and could be a problem.

I'm going to use the _new_sid() method for now
thanks for your time,
luca

-- 
Luca Montecchiani
Software Di Base
TeamSystem S.p.a.
------------------------------------------------------------------------------------------
Informativa ai sensi del D. Lgs. 196-30/06/2003.
Il contenuto di questa e.mail e degli eventuali allegati, deve essere nella disponibilità
del solo destinatario.  Se ricevete per errore questa e-mail siete pregati di informarci
(rispedendola al mittente) e di provvedere alla sua rimozione.
Possono essere presenti informazioni riservate e non corrette (parzialmente o totalmente).
Le e-mail in partenza e in arrivo possono essere oggetto di monitoraggio
da parte di Teamsystem spa.  Del contenuto è responsabile il mittente della presente.
Chiunque venga in possesso non autorizzato di questa e-mail è vincolato
dalla Legge a non leggerne il contenuto, a non copiarla, a non diffonderla e a non usarla.
Informiamo che per l' esercizio dei diritti di cui all'art. 7 del d.lgs.196/2003 ci si può
rivolgere al Titolare del trattamento Teamsystem S.r.l. via Gagarin 205 61100 PESARO
per posta o fax, indicando sulla busta o sul foglio la dicitura "Inerente alla Privacy",
o inviando una e-mail all' indirizzo privacy at teamsystem.com .
------------------------------------------------------------------------------------------



More information about the Mod_python mailing list