Evelet猴子补丁不起作用



代码:

import eventlet
eventlet.monkey_patch()
import requests
def main():
    print(eventlet.patcher.is_monkey_patched(requests))

if __name__ == "__main__":
    main()

我原以为打印语句会返回True,但实际上它返回False。为什么会发生这种情况?

没错,Eventlet没有修补requests,没有必要。这个包中没有关于绿色线程的特殊之处。因为它基本上是urllib3的包装器,提供了更好的API。出于同样的原因,urllib3也并没有被修补。但是,我们确实对socket进行了修补。CCD_ 5使用CCD_ 6,CCD_。

您可以在网站上看到Eventlet修补的模块列表http://eventlet.net/doc/patching.html#monkeypatching-标准库截至今天(2016-04-09)它是:os,select,socket,thread,time,psycopg。logging很快就会加入这个名单。

我很乐意帮助您解决实际问题,您认为is_monkey_patched就是解决方案。

最新更新