python的gunicorn我想大家都知道,他是个能快速让web程序支持多并发的模块… 我想大家对于gunicorn不是很了解,这边就简单的说下gunicorn的工作流程… 其实实现gunicorn本身那套东西不太难,但是理解gunicorn那套东西,尤其是看懂其代码,那真是很不容易… 我现在也就紧紧看了他的主要的实现模块代码。
文章继续跟进中,请到原文地址查看更新. http://xiaorui.cc/?p=2401
先简单说下,gunicorn的基本流程.
1. 首先他构建Master Worker的工作模型,Master负责调度Worker进程增删杀,而且他还会listen一个端口,或则是unix socket上。
2. 他用过PIPE传递listen注册上的fd文件描述符
3. 真正的worker做的事情很简单,紧紧是通过listening fd不断的accept接受请求而已.
对于第三步,sync.py是这么实现的,如果是gevent thread的gunicorn worker最后要做的事情差不多,只是handler的动作换成了不同的worker调度器而已。
先讲流程,过两天把gunicorn代码整理出来后,继续跟进…