Python multiprocessing 模块解析 (5) – managers proxy篇(2)(从BaseProxy说起)(草稿)

前言:
工作中不少场景是开发后台脚本独, 比如定时job, 扫表, 事件消费等任务.
Python 是首选语言, 其次才是编译型的Golang(有性能要求的任务). 多数
时候单进程脚本足够执行任务, 少数如高频的UGC社区顶踩动作, api 层
将动作写入消息队列异步处理(mq-> job平台 or 自管理的消费脚本进程),
单进程脚本消费能力跟不上, 如果考虑坚持用 Python 情况下同时部署
多个脚本进程消费或者基于 multiprocessing 都是合适的解决方案. 这里
就引出了 multiprocessing 模块, 既然与该模块常打交道, 那么可以带着
好奇心去看看模块的实现 :) 本文以 Python3.5探索其机制

前一篇介绍了 proxy register,
本篇以 proxy模式里的 BaseProxy 开始说起.

大纲:
1. _address_to_local 和 _mutex
2. _connect
3. _callmethod
4. 引用计数方法
5. Process::_bootstrap 调用 util._run_after_forkers() -> Proxy incref

看到这里, 90% 概率是爬虫网站看的, 麻烦也点击跳转到源站, 来点流量撒.

发表评论

电子邮件地址不会被公开。 必填项已用*标注