django是否使用线程来处理请求?

时间:2012-07-11 04:05:58

标签: django

Django用于处理其请求的底层基础架构是什么?

是否使用了线程,有人可以参考一下吗?

2 个答案:

答案 0 :(得分:3)

Django不是网络服务器。这是一个Web框架。它作为应用程序运行的方式依赖于您提供服务的方法。

它可能是线程请求。它可能是流程。它甚至可能是异步的。

Serving Files

  

Django本身不提供文件;它将该工作留给您选择的任何Web服务器。

Wsgi是目前最常用的django服务方式,所以你应该调查不同wsgi实现的配置选项。

答案 1 :(得分:1)

如果在使用manage.py runserver时遇到随机分段错误,因为您在项目中必须使用的某些基础C库不是线程安全的,请尝试 manage.py runserver --nothreading 代替。


对于使用mod_wsgi之类的工具运行wsgi的生产服务,通常可以选择禁用线程。在这种情况下 WSGIDaemonProcess example processes=5 threads=1 参见https://modwsgi.readthedocs.io/en/develop/user-guides/processes-and-threading.html