本文介绍: 最近用flask做了个接口,功能主要是使用getssl用来申请letsencrypt免费证书,并将其功能嵌入进公司的CMDB系统,可以通过一键点击来进行证书的申请,添加TXT域名解析,获得证书文件,将证书文件自动推入到git库等待使用,等功能。uwsgi可以根据你自己的配置情况来选择配置http–timeout还是socket–timeout,这里都配上也不影响。由于申请证书过程繁琐,时间较长,每次发起请求后,,你们可以根据情况自己设置合适的超时时间。由此解决了超时请求的问题。,由于我的请求流程是。
背景
最近用flask做了个接口,功能主要是使用getssl用来申请letsencrypt免费证书,并将其功能嵌入进公司的CMDB系统,可以通过一键点击来进行证书的申请,添加TXT域名解析,获得证书文件,将证书文件自动推入到git库等待使用,等功能。
由于申请证书过程繁琐,时间较长,每次发起请求后,第60s必定返回一个502的错误结果,由于我的请求流程是
ajax --> 本地python request请求 --> nginx(反向代理)--> uwsgi部署的flask api
于是我在所有流程中都增加了timeout,我这里设置了300s,你们可以根据情况自己设置合适的超时时间。
1、Ajax
$.ajax(
{
type: 'post',
url: "{% url 'get_ssl' %}",
data: {"domain": domain},
timeout: 300000, //这里设置超时时间,单位是毫秒
success: function(result) {
if (result['code'] === 500){
ssl_p.text("")
alert(result['message']);
}
else {
ssl_p.text(result['message']);
ssl_p.css('color', 'green');
access_img.show()
}
}
}
)
msg = requests.post(url=url, headers=headers, data=data, timeout=300)
3、nginx
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
4、uwsgi
[uwsgi]
master = true
http = :6666
chdir = /root/
wsgi-file = /root/get_ssl.py
callable = app
processes = 4
vacuum = true
pidfile = /var/run/uwsgi.pid
daemonize = /var/log/uwsgi.log
http-timeout=300
socket-timeout=300
uwsgi可以根据你自己的配置情况来选择配置http-timeout还是socket-timeout,这里都配上也不影响。
原文地址:https://blog.csdn.net/weixin_45066823/article/details/126710711
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_24272.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。