gevent + urllib2 blocking

月忧茗 yueyoum at gmail.com
Fri Feb 22 16:40:24 CET 2013


Hi,

One problem, thanks for help.


import gevent.monkey
gevent.monkey.match_all()

from lxml import etree
# I using xpath parse the html


def _get(p):
    url = BUILD_URL(p)
    html = urllib2.urlopen(url)

    # RUN AT HERE AND BLOCKING

    # ver1
    tree = etree.parse(html, parse)

    # ver2
    # tree = etree.fromstring(html.read(), parse)

    ....


workers  = [gevent.spawn(_get, i) for i in xrange(1, 100)]
gevent.joinall(workers)



When using ver1,  etree.parse(html, parse)
I noticed there are only two greenlets runs at "RUN AT HERE AND BLOCKING"

others are not running!


But, when I using ver2,  this code will running normally as expected.


Why this ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130222/50d00f7b/attachment.html>


More information about the Python-list mailing list