title: Asyncio RuntimeError: Event Loop is Closed
body: <p>I'm trying to make a bunch of requests (~1000) using Asyncio and the aiohttp library, but I am running into a problem that I can't find much info on.</p>
  
  <p>When I run this code with 10 urls, it runs just fine. When I run it with 100+ urls, it breaks and gives me <code>RuntimeError: Event loop is closed</code> error.</p>
  
  <pre><code>import asyncio
  import aiohttp
  
  
  @asyncio.coroutine
  def get_status(url):
      code = '000'
      try:
          res = yield from asyncio.wait_for(aiohttp.request('GET', url), 4)
          code = res.status
          res.close()
      except Exception as e:
          print(e)
      print(code)
  
  
  if __name__ == "__main__":
      urls = ['https://google.com/'] * 100
      coros = [asyncio.Task(get_status(url)) for url in urls]
      loop = asyncio.get_event_loop()
      loop.run_until_complete(asyncio.wait(coros))
      loop.close()
  </code></pre>
  
  <p>The stack trace can be found <a href="https://bpaste.net/show/3ee9e9640987">here</a>.</p>
  
  <p>Any help or insight would be greatly appreciated as I've been banging my head over this for  a few hours now. Obviously this would suggest that an event loop has been closed that should still be open, but I don't see how that is possible.</p>