In what way is grequests asynchronous?
.map() is meant to run retrieval of several URLs in parallel, and will indeed wait for these tasks to complete (gevent.joinall(jobs)) is called). Use .send() instead to spawn jobs, using a Pool instance: req = grequests.get(‘http://www.codehenge.net/blog’, hooks=dict(response=print_res)) job = grequests.send(req, grequests.Pool(1)) for i in range(10): print i Without the pool the .send() call will block … Read more