On Thu, 2008-08-28 at 16:42 -0700, Graham Dumpleton wrote: > Can someone give an update as to where Django 1.0 may stand in respect > of multithreading issues. > > I note that all the links to tickets referenced in: > > http://code.djangoproject.com/wiki/DjangoSpecifications/Core/Threading > > seem to be crossed out, implying they are closed. > > Does this mean we are closer to being confident in saying Django may > be multithread safe or are there other issues that still need to be > addressed?
Keep in mind that that page isn't neither a "specification" nor "core". It's a scratch pad of ideas by a few people (hard to tell how many because it's been edited anonymously at times). The naming is unfortunate and something we'll probably change in the near future. Definitely a useful page in some aspects, but to be treated appropriately as with anything in the wiki: anyone can, and has edited it, and it's difficult to view the history of what's gone on. At some point we'll have to rename it because people have been confused by the name. To answer your actual question, we should be pretty much threadsafe across the board. All tickets reported of that nature have been addressed. There are some places where we do intentional sharing, but they are just that: intentional. Other places should be filed as bugs, because they most likely are. To the best of my knowledge (and I do have some about the code), using multiple threads of execution for the same virtual host / location config blog (i.e. one settings file) should work. There are still things going on like os.environ being updated in the mod_python handler and Django having the general issue that it's going to be much harder to run multiple issues in one process space (than compared with your standard example of Trac) because people can and do import pretty much anything and they all populate the same memory space. That's why we don't currently have the multiple settings files for one virtual host type of setup: it's going to take a lot of documentation and care to make sure people have enough information to not blow their own feet off by importing contradictory sets of things. As a low level framework that is really just a small portion of any advanced usage, but which does do dynamic loading, that's a project for later (still a project, though, at least for me). Regards, Malcolm --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" 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/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---
