title: Gevent pool with nested web requests
body: <p>I try to organize pool with maximum 10 concurrent downloads. The function should download base url, then parser all urls on this page and download each of them, but OVERALL number of concurrent downloads should not exceed 10.  </p>
  
  <pre><code>from lxml import etree 
  import gevent
  from gevent import monkey, pool
  import requests
  
  monkey.patch_all()
  urls = [
      'http://www.google.com', 
      'http://www.yandex.ru', 
      'http://www.python.org', 
      'http://stackoverflow.com',
      # ... another 100 urls
      ]
  
  LINKS_ON_PAGE=[]
  POOL = pool.Pool(10)
  
  def parse_urls(page):
      html = etree.HTML(page)
      if html:
          links = [link for link in html.xpath("//a/@href") if 'http' in link]
      # Download each url that appears in the main URL
      for link in links:
          data = requests.get(link)
          LINKS_ON_PAGE.append('%s: %s bytes: %r' % (link, len(data.content), data.status_code))
  
  def get_base_urls(url):
      # Download the main URL
      data = requests.get(url)
      parse_urls(data.content)
  </code></pre>
  
  <p>How can I organize it to go concurrent way, but to keep the general global Pool limit for ALL web requests?</p>