【发布时间】:2013-03-20 19:26:07
【问题描述】:
我有代码:
import gevent
import gevent.monkey; gevent.monkey.patch_all()
import requests
def func():
try:
requests.get('http://unavailable-host/')
except:
pass
def main():
jobs = [gevent.spawn(func) for i in xrange(10)]
gevent.joinall(jobs)
if __name__ == '__main__':
main()
这个脚本通常没有输出。但有时(在 5 次中的 1 次中)我会收到以下消息:
Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr
解释一下,为什么会发生这种情况,什么是正确的解决方案?另外,如果我添加
gevent.sleep(1)
之后
gevent.joinall(jobs)
脚本总是没有输出,一切正常。
【问题讨论】: