On Sunday, 14 August 2011 03:20:30 UTC+1, John Gordon wrote: > I'm devleoping a website using the Django framework along with Apache, > and I'm seeing some odd data issues. > > During the course of navigating through the website content, a user > will cause the creation of some data records with a limited lifespan. > These data records have a create_dt field which is automatically set to > the time that they were created, and an expire_dt field which is equal > to create_dt plus ten minutes. > > The problem is that I get conflicting results as to whether these temporary > records have reached their expiration date, depending if I search for them > via an Apache web call or if I do the search locally from a python shell. > > And to make it weirder, the conflicts go away if I stop and restart the > Apache server, although any new records created after this point will still > exhibit the issue. > > Are there any known "gotchas" when using Django with Apache? It almost > seems like Apache is maintaining its own persistent session or something, > and restarting Apache causes the session to be flushed. > > -- > John Gordon A is for Amy, who fell down the stairs > [email protected] B is for Basil, assaulted by bears > -- Edward Gorey, "The Gashlycrumb Tinies"
Well, without seeing any code, it's hard to tell. And Apache (with mod_wsgi) is the recommended deployment method, so you can't really say there are gotchas. My guess is that you have not understood that server processes - and this is true on the dev server as well as on Apache - are not the same as requests. That is, server processes are long-lasting, and one process may end up serving tens or hundreds of requests before being recycled. So, if you have any code that runs at process startup - such as default values in class definitions or at module level - it will persist for all requests served by that process. Like I say, though, it would really help if you showed the relevant code. -- DR. -- http://mail.python.org/mailman/listinfo/python-list
