docs: async def fetch_page(session, host):
      """ Perform the page fetch from an individual host.
  
      `session` - An aiohttp 
      [client session](http://aiohttp.readthedocs.io/en/stable/client_reference.html#client-session)  
      `host` - URL to fetch
  
      `return` tuple with the following:
          * The host parameter
          * A vague status string
          * Text response or an exception depending on status above
      """
      await asyncio.sleep(random.randint(0, 25) * 0.1)
      start = time.time()
      logger.info('Fetch from {}'.format(host))
  
      try:
          response = await session.get(host, allow_redirects=False)
      except aiohttp.ClientResponseError as err:
          # likely a 404 implying HTTP but no page
          # likely a 401 implying HTTP but no access
          # FIXME: for instance, a gateway
          # headers are available via err.headers()
          # https://multidict.readthedocs.io/en/stable/multidict.html#multidict.CIMultiDict
          results_tuple = (host, 'no page', err)
      except aiohttp.ClientConnectorError as err:
          # likely device at IP but no HTTP server
          results_tuple = (host, 'no http', err)
      except aiohttp.ServerConnectionError as err:
          # likely ServerTimeoutError implying no device at IP
          results_tuple = (host, 'no dev', err)
      except aiohttp.InvalidURL as err:
          # likely a malformed URL
          results_tuple = (host, 'no URL', err)
      # except Exception as err:
      #     # Generic trap for debug
      #     results_tuple = (host, 'unknown', err)
      else:
          try:
              text_response = await response.text()
          except aiohttp.ClientPayloadError as err:
              # trouble reading page TODO: anyway to recover?
              results_tuple = (host, 'no read', err)
          else:
              results_tuple = (host, 'found', text_response)
          response.close()
  
      logger.info('Recvd from {} after {:.2f}s'.format(host, time.time() - start))
      return results_tuple