真的是内牛满面啊,虽然4个月前就开始用gevent,但是直到今天才知道到底怎么才能设置gevent(含monkey打patch后)的超时!!
官方文档太坑爹了,在很隐藏的一个角落里才发现这么一个类gevent.Timeout。
事情是这样的:我们常用的socket都是阻塞的,那么超时是很好设置的。但是,用过Linux下非阻塞I/O的都知道,非阻塞情况下,设置连接超时神马都是浮云的,因为人家是非阻塞的……
于是,当我们用monkey.patch_all()之后,所有的socket[......]