code: def _put (self, url_data):
          
          if self.shutdown or self.max_allowed_urls == 0:
              return
          log.debug(LOG_CACHE, "queueing %s", url_data.url)
          key = url_data.cache_url
          cache = url_data.aggregate.result_cache
          if url_data.has_result or cache.has_result(key):
              self.queue.appendleft(url_data)
          else:
              assert key is not None, "no result for None key: %s" % url_data
              if self.max_allowed_urls is not None:
                  self.max_allowed_urls -= 1
              self.num_puts += 1
              if self.num_puts >= NUM_PUTS_CLEANUP:
                  self.cleanup()
              self.queue.append(url_data)
          self.unfinished_tasks += 1
docs: Put URL in queue, increase number of unfished tasks.