圈子里有朋友问我在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 !!!

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