问题描述
远程服务器上启动了一个flask服务,用的python3.6.2环境,前端是可以正常访问服务,我从另一台win10电脑通过chrom也可以正常测试连接。那么问题来了,当我访问过后,另一个人就无法正常请求,前端请求接口一直pending。。。神奇的是,如果我在浏览器里刷新一下,那么就会先响应我的请求,再响应前端请求,以此循环,每次都要我手动刷新一下才能正常响应。
问题解决
Flask内置服务器默认配置使用单线程,不支持并发请求资源,而谷歌浏览器允许并发请求资源,所以会导致调用某些接口时并发请求接口,但接口不支持后会一直卡着pending
解决方案:
if __name__ == '__main__':
app.run(host='127.0.0.1', port=80, debug=True, threaded=True)
在app.run中加上threaded=True后,重新启动就会以多线程启动,这样就支持谷歌并发请求资源,也就解决了上述问题