Nick
nick at dd.revealed.net
Fri Feb 11 14:10:21 EST 2005
I think your only recourse here is to lower the children to 1 and up the number of threads (a la windows), or else use an external database to store your variables. Nick donnie jones wrote: > ---------- Forwarded message ---------- > From: donnie jones <donniejones18 at gmail.com> > Date: Fri, 11 Feb 2005 14:02:48 -0500 > Subject: Re: [mod_python] pass variables between functions. > To: Scott Sanders <sanders at apache.org> > > > I believe I am having this problem because if I reload the x=x+1 > function many times, sometimes it will increment the value and > sometimes it won't... so I assume it is depending upon which thread > has loaded. > > Is there a way around this so that I have a consistent value between > the functions? > > Thank you. > > __ > Donnie > > > On Fri, 11 Feb 2005 10:58:51 -0800, Scott Sanders <sanders at apache.org> wrote: > >>It won't work for everyone, if someone's config uses a threaded MPM for >>Apache, or multiple python interpreters. Then the x global var is only >>global to a particular interpreter. >> >>Scott >> >>On Feb 11, 2005, at 10:49 AM, Chris Jackson wrote: >> >> >>>[+ mod_python] >>> >>>I've tested your code. It works fine the way you have it (add an >>>output statement to def test).... >>> >>>Everytime http://path/to/your/site/test is called, x is reset to 1 >>>Each time http://path/to/your/site/add is called, x is incremented. >>> >>>~= Chris =~ >>> >>>On Fri, 11 Feb 2005 13:28:15 -0500, donnie jones >>><donniejones18 at gmail.com> wrote: >>> >>>>I meant retain a value across function, not constants. >>>>The global did not work for me.. >>>> >>>>Must I "return" the variable in order for it to be >>>>changed for the second function? >>>> >>>>What kind of sessions issue could be happening? >>>>I don't have any sessions declared.... >>>> >>>>Thanks. >>>>__ >>>>Donnie >>>> >>>> >>>>On Fri, 11 Feb 2005 13:25:14 -0500, Chris Jackson >>>><christopher.jackson at gmail.com> wrote: >>>> >>>>>If you're looking for setting something like constants, then one >>>>>suggestion would be to create a separate config module of a sort : >>>>> >>>>># config.py >>>>>COLOR='blue' >>>>>SIZE=10 >>>>> >>>>>Then, in your publisher handler file you can import the config module >>>>>and call it like so: >>>>> >>>>>from mod_python import apache >>>>>import config >>>>> >>>>>def test(req): >>>>> mycolor = config.COLOR + 1 >>>>> mysize = config.SIZE +1 >>>>> >>>>>def add(req): >>>>> mycolor = config.COLOR +2 >>>>> mysize = config.SIZE + 2 >>>>> >>>>>However, if by consistency, you mean retain a value across functions, >>>>>then using global should work fine. You may just have an issue with >>>>>sessions. What do you ultimately want to accomplish? >>>>> >>>>>~= Chris =~ >>>>> >>>>> >>>>>On Fri, 11 Feb 2005 12:48:47 -0500, donnie jones >>>>><donniejones18 at gmail.com> wrote: >>>>> >>>>>>Hello, >>>>>> >>>>>>I am wanting to have a variable's data between two functions, but I >>>>>>can't seem to find a reasonable way to do this with modpython >>>>>>publisher... >>>>>> >>>>>>example: >>>>>> >>>>>>x=0 >>>>>> >>>>>>def test(req): >>>>>> global x >>>>>> x = 1 >>>>>> >>>>>>def add(req): >>>>>> global x >>>>>> x=x+1 >>>>>> req.write("%d" % x) >>>>>> >>>>>>I would like for x to have a consistent value between the >>>>>>functions... >>>>>>I thought maybe doing req.x = 1 might work, but I did not have >>>>>>success >>>>>>between the functions, req would not maintain the value. >>>>>> >>>>>>Any suggestions would be great. >>>>>>Thank you. >>>>>> >>>>>>__ >>>>>>Donnie >>>>>>_______________________________________________ >>>>>>Mod_python mailing list >>>>>>Mod_python at modpython.org >>>>>>http://mailman.modpython.org/mailman/listinfo/mod_python >>>>>> >>>>> >>>_______________________________________________ >>>Mod_python mailing list >>>Mod_python at modpython.org >>>http://mailman.modpython.org/mailman/listinfo/mod_python >> >> > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python
|