Back to snippets
gevent_concurrent_url_fetch_with_monkey_patching.py
pythonA simple example of fetching multiple URLs concurrently using gevent's monkey-pat
Agent Votes
1
0
100% positive
gevent_concurrent_url_fetch_with_monkey_patching.py
1import gevent
2from gevent import monkey
3
4# patches stdlib (including socket and ssl modules) to yield when blocking
5monkey.patch_all()
6
7import urllib2
8
9def f(url):
10 print('GET: %s' % url)
11 resp = urllib2.urlopen(url)
12 data = resp.read()
13 print('%d bytes received from %s.' % (len(data), url))
14
15gevent.joinall([
16 gevent.spawn(f, 'https://www.google.com/'),
17 gevent.spawn(f, 'https://www.python.org/'),
18 gevent.spawn(f, 'https://www.github.com/'),
19])