Django 杀死旧的请求

Django kills older requests

我是 运行 一个基于 IIS 的 Django 网站。当用户保存一个对象时,它可能需要一些时间,所以与其让他们等待它完成,不如将 AJAX 请求连同提交信息发送到服务器,然后页面立即被重定向。但是,如果服务器收到更多请求,旧的保存请求将被相当不优雅地杀死。日志文件显示它在执行过程中结束,没有错误消息或其他失败指示。

如何在 Django 中让旧请求保持活动状态?

P.S。我已经研究过启动一个新的多线程进程,但遇到了有关 Django 模型的问题,我正在寻找比 Celery 更简单的东西。

事实证明,Django 并没有终止请求,IIS 才是。 FastCGI(Django 和 IIS 之间的媒介)有一个超时设置,设置为 30 秒。因此,当我的保存请求达到该时间限制时,它就在没有警告的情况下结束了。

您可以更改此设置,方法是单击 IIS 中的服务器名称,然后单击“FastCGI 设置”图标,然后单击正在使用的 FastCGI 应用程序。在“Process Model”下,将“Activity Timeout”和“Request Timeout”更改为更高的限制,为了安全,我使用了 300 5 分钟。