标签:
今天意外在网上看到一篇文章,写到
后端使用gunicorn+flask的方式,刚开始就直接使用flask跑,但是有一次就出现502了,发现由于flask是单进程处理请求的,不像Tornado的异步,同时访问的人数稍微过多,就会出现阻塞的情况,导致nginx出现502的问题
于是开始寻找flask处理异步请求的解决方案
首先 我不了解tornado的异步处理方式,有时间我会去了解一下
其次,我在实验里犯了一个错误,我随手用sleep(100)去做阻塞,造成的结果是整个进程被我挂起了,其实我只需要在视图函数里写一个死循环就解决这个小问题,但是一时大意,浪费了2个小时。
在这里要再次声明:不管是C语言还是Python ,Sleep都是让进程挂起的,只有在进程初始化阶段才应该去考虑使用
__author__ = ‘Brown‘ from flask import Flask from flask.ext.script import Manager app = Flask(__name__) manager = Manager(app) count = 0 @app.route(‘/‘) def index(): print "get" global count print count count = count + 1 print count if count < 2: while True: pass return "abc" if __name__ == ‘__main__‘: manager.run()
f2.py runserver --host 0.0.0.0 --threaded
(未完待续)
标签:
原文地址:http://my.oschina.net/u/2007546/blog/466669