Local class variables? (mod_python problem)
Rory Campbell-Lange
rory at campbell-lange.net
Thu Feb 22 10:42:39 EST 2007
Apologies to Piet and Diez for the lack of clarity in my previous post
(and the broken code).
In essence we use class variables as follows:
class Part (object):
totalgia = 0
def __init__(self, gia):
self.gia = gia # gross internal area
self.giaratio = 0
Part.totalgia += self.gia
def addavgbm(self):
self.giaratio = float(self.gia)/float(Part.totalgia)
def __repr__(self):
return "gia: %0.1f giaratio: %0.2f" % (self.gia, self.giaratio)
if __name__ == '__main__':
p1 = Part(20)
p2 = Part(30)
for p in p1, p2:
p.addavgbm()
print p
totalgia keeps incrementing when this code is used under mod_python.
We most certainly are in 'murky waters of accidental concurrent access'.
A life vest would be gratefully received.
Kind regards
Rory
On 22/02/07, Rory Campbell-Lange (rory at campbell-lange.net) wrote:
> We have a set of classes using static methods to retain reference
> variables between operations. The problem is that the static variables
> are not reset between operations when used through mod_python.
>
> Although it is possible to reset the class variables between invocations
> of the system, this has the potential of 'wiping out' these variables
> when another user is using the system.
>
> Is there a way of getting the equivalent of 'local class variables'? In
> other words, a way of making 'print a' and 'print b' below provide the
> same output?
On 22/02/07, Piet van Oostrum (piet at cs.uu.nl) wrote:
> >>>>> Rory Campbell-Lange <rory at campbell-lange.net> (RC) wrote:
> There are several errors in your python code: quite a number of comma's
> have to be replaced by semicolons (or newlines), and there is a spurious
> comma.
On 22/02/07, Diez B. Roggisch (deets at nospam.web.de) wrote:
> Rory Campbell-Lange wrote:
> It's very unclear what you mean here, and I'm additionally under the
> impression that you are deep in the murky waters of accidential
> concurrent access errors here.
--
Rory Campbell-Lange
<rory at campbell-lange.net>
<www.campbell-lange.net>
More information about the Python-list
mailing list