圈子里有朋友问我在python下如何实现类gunicorn多进程管理.  Master Worker工作模型非常适合多任务环境,可以规范后端服务,动态的改变worker数,不怕内核的oom等.

    在新公司还没怎么分享过python,因为公司的python高手太多 !  不仅有看过python源码的ybb,有看过redis源码,反复提交pullrequest都被拒的伟哥,还有从django古老版本就开始折腾的大哥.    这次关于多进程管理的主题也不怎么高端,只为普及知识. 

文章时有更新,怕就文章误导大家,标注下原文地址,http://xiaorui.cc/?p=3133

PPT里的主要纲要:
  • supervisor vs gunicorn vs uwsgi
  • linux信号, unicorn的信号体系 
  • 孤儿进程 vs 僵尸进程的实现

  • nohup的源码实现,脱离终端控制的几种方法? 

  • daemon的实现,为什么需要两次fork ?

  • prefork是怎么一回事

  • 打造一个较完善的多进程管理轮子

下面是具体的功能点:

  • 用配置文件控制
  • uid权限
  • 规范进程名
  • daemon守候进程
  • 调整进程Add、Reduce
  • 调优配置 : 最大处理任务,是否线程、协程, timeout控制
  • 捕获各种信号,解决僵尸进程
  • fcntl lock
  • 传参获取服务状态,重启服务,开启,停止


已经把ppt扔到slideshare里,如果连接被墙,可以直接下载高清版本.  


pdf下载地址:

http://xiaorui.cc/processpdf.pdf


在线翻墙看的ppt:

美妙的多进程管理 from rfyiamcool



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品

8则回应给“公司内部的python分享《美妙的多进程管理》”

  1. 要视频说道:

    视频?更新了么?

  2. 厉害说道:

    棒棒的!

  3. 泥沙说道:

    棒棒的!

  4. 代码说道:

    有样例代码么

  5. 一发说道:

    keynote?

  6. 记得说道:

    我记得你开源过类似的实现模块吧

  7. 三夫说道:

    有点意思!

  8. mix说道:

    光看ppt就知道不错,峰云兄来我们心分享吧!

发表评论