3
votes

I'm starting to learn Django through the use of Aymen Hourieh's Book. As I've asked a few developers why Django isn't used in a certain application, I was told there are multi-threading issues with Django. could you tell me what the extent of the multi-threading problems are or were if they've been resolved?

I'm also partly basing my question on this: http://en.wikipedia.org/wiki/Django_(web_framework)#Server_arrangements (paragraph three): Versions of Django prior to 1.0 had multithreading issues [6] and it would be recommended that those versions of Django only be used in a single threaded server configuration, such as with Apache prefork MPM using mod_python or embedded mode of mod_wsgi. Although Django 1.0 is principally believed to now be thread safe, some minor threading issues are still occasionally being found; it may be prudent to continue to use a single threaded server configuration and/or stay current with Django releases and notices about the multithreading issues. [6]

1
What kinds of issues? What interface where they using? If you use mod_wsgi (instead of mod_python) things go a lot more smoothly, but this is fairly vague. - Adam Vandenberg
I know the question is vague and perhaps it's too discussion oriented, but I just want to get some idea of what kind of things to watch out for as I get further into django. Also, which is the newer wasy of using django mod_wsgi or mod_python? - Ramy
mod_wsgi is newer. The multi-threading issues you have heard about are probably with django's internal server (runserver), which does not support multithreading at all. Of course when you deploy, you won't be using that. :-) - jMyles
I should clarify and say it was actually just ONE developer I spoke with about it. But it sounds like there is some historical context for believing Django has not handled multi-threaded requests very well. - Ramy

1 Answers

0
votes

I think you are talking about this. I don't know much about it, but i've seen that link.

The wiki link to the Django project has been wiped, but this revision diff still has the content.