Start by reading: http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading
It talks about global data sharing. Don't use maximum-requests option it is generally a bad idea and should only be used in certain circumstances. What makes you think you should be using it? Overall, if you are new to web programming, unless you have a good reason, trying starting with an existing framework such as Flask or Django. Graham On 12 September 2011 09:13, Emyr James <[email protected]> wrote: > Hi, > I'm thinking of using wsgi to do a simple framework for some webapps I have > in mind. I'm trying to understand how mod_wsgi handles global data and what > kind of thread synchronisation I need to contorl access to the global data. > > I wrote this very simple app to test global variables... > > counter=0 > def application(environ, start_response) : > global counter > status='200 OK' > response_headers=[('Content-type', 'text/plain')] > start_response(status, response_headers) > counter+=1 > return ['counter is '+str(counter)+'\n'] > > I had the following in my apache conf... > > WSGIDaemonProcess myserver threads=2 maximum-requests=75 > > So I should have 1 process with 2 threads in it. > > When I repeatedly hit the browser, I see the counter go up as expected but > then it goes back to 1 after 50 hits. > I'm curious how excactly the threads & processes work regarding global > variables. > > Why does it reset after 50 hits ? > Is it possible to write some kind of thread-id in my output so I know which > of the 2 threads it hits? > If i have threads recycling after the 75 requests, will that also reset the > global variable each time one of the threads hits maximum-request > ?...although the global variable seems to be resetting now ...why ? ) > I'm guessing that to avoid race conditions I'd need to use the threading > module and put a lock around the counter increment...or do the mod_wsgi > threads not work like that ? i.e. each daemon thread has it's own self > contained python interpreter so no data is shared between the mod_wsgi > threads ? > > Any answers on the above greatly appreciated. > Regards, > Emyr > > > -- > You received this message because you are subscribed to the Google Groups > "modwsgi" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/modwsgi?hl=en. > > -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/modwsgi?hl=en.
