python-Django进程生命周期

使用Django时,用于处理请求的Python进程可以存活多长时间?显然,给定的Python流程可为整个请求提供服务,但是否可以保证在所有请求中都能生存?我问的原因是,当我导入某些模块时,我执行了一些昂贵的计算,并且想知道模...

使用Django时,用于处理请求的Python进程可以存活多长时间?显然,给定的Python流程可为整个请求提供服务,但是否可以保证在所有请求中都能生存?

我问的原因是,当我导入某些模块时,我执行了一些昂贵的计算,并且想知道模块将被导入的频率.

解决方法:

这根本不是Django的功能,而是任何用于服务Django的系统.通常,它是通过诸如mod_wsgi之类的wsgi或诸如gunicorn之类的独立服务器而获得的,但可能与FastCGI甚至普通CGI完全不同.

关键是所有这些不同的系统都有自己的模型,这些模型决定了过程寿命.在基本CGI之外的任何其他情况下,任何单独的流程在回收之前肯定会满足多个请求,但是绝对不能保证有多少个流程-该流程可能持续数天或数周,或者只有几分钟.

但是要注意的一件事是,您几乎总是会同时运行多个进程,并且您绝对不能指望由与前一个请求相同的请求服务的任何特定请求.这意味着,如果您希望在请求之间保留任何特定于用户的数据,则需要将其存储在会话等位置.

本文标题为:python-Django进程生命周期

基础教程推荐