django单独部署uwsgi之请求超时

django单独部署uwsgi请求超时问题

django单独部署uwsgi请求超时问题

当你需要限制请求时长,或者需要允许较长时间的请求时配置
我这次遇到的问题就是django项目单独运行没有问题,但是部署到uwsgi服务器中后出现一个ajax请求时间比较长(大于uwsgi默认的60秒),所以1min后抛出了POST net::ERR_EMPTY_RESPONSE,本来以为ajax超时,最后确定是uwsgi默认设置60秒超时。
本人使用的uwsgi2.0.19.1,python3.7.7,django3.0.8
harakiri:
harakiri=60 单位秒
前端向后端发送一个请求,等待服务器响应,超过设置时间服务器就会强行终止本次请求,前端的接受到的响应就为空,就是上面提到的net::ERR异常控制台network中状态为failed。
http-timeout:
http-timeout=60 单位秒
一般情况下,我们的uwsgi都是配合nginx使用的,使用的都是socket-timeout。但是本次我单独使用uwsgi所以使用http-timeout。
区别说就是:uwsgi单独使用就用http, 配合nginx就用socket。
解释下这两个时间的意义:
举个例子:
前端发起请求后,服务器需要3分钟之后才能给前端响应,但是http-timeout设置了60秒,所以60秒后前后就会断开连接,但是服务器还会继续讲任务执行完毕,但是执行完后无法将结果返回给前端。这就是我这次遇到的问题,前端超时报错,但是后端程序会继续执行。

解决方法

本人采用的是uwsgi.ini方式配置
http-timeout=6000设置大于你请求时间

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值