如題,但是查看了很多資料,都說python這邊的mysql不支持異步並發,只能阻塞進行,心塞30秒,暫時放棄這方面的研究
如果不操作數據庫的化,比如請求url、操作文件,還是可以用gevent來異步實現並發的:https://zhuanlan.zhihu.com/p/21465564
有資料說豆瓣通過修改基礎庫實現了,參考:https://github.com/douban/greenify,看了半天,不覺得適合自己的項目
python的最佳實踐是:http://san-yun.iteye.com/blog/1890784
1. gunicorn 同步模式+ 多開線程
2. gunicorn + gevent,前提把mysql的坑補上
有資料說:通過安裝MySQL-connector可以實現:http://blog.csdn.net/liukeforever/article/details/7013545
再看看廖雪峰的:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140262673295076f525af00734a8e924c5fc6ff5b6091000,里面講到,反正如此做了,不知道效果如何:
部署方式
在本地開發時,我們可以用Python自帶的WSGI服務器,但是,在服務器上,顯然不能用自帶的這個開發版服務器。可以選擇的WSGI服務器很多,我們選gunicorn:它用類似Nginx的Master-Worker模式,同時可以提供gevent的支持,不用修改代碼,就能獲得極高的性能。
-
gevent:把Python同步代碼變成異步協程的庫;
-
gunicorn --bind 127.0.0.1:9000 --workers 1 --worker-class gevent wsgiapp:application