MCPcopy
hub / github.com/scrapy/scrapy / _enqueue_request

Method _enqueue_request

scrapy/core/downloader/__init__.py:178–193  ·  view source on GitHub ↗
(self, request: Request)

Source from the content-addressed store, hash-verified

176
177 # passed as download_func into self.middleware.download() in self.fetch()
178 async def _enqueue_request(self, request: Request) -> Response:
179 key, slot = self._get_slot(request)
180 request.meta[self.DOWNLOAD_SLOT] = key
181 slot.active.add(request)
182 self.signals.send_catch_log(
183 signal=signals.request_reached_downloader,
184 request=request,
185 spider=self.crawler.spider,
186 )
187 d: Deferred[Response] = Deferred()
188 slot.queue.append((request, d))
189 self._process_queue(slot)
190 try:
191 return await maybe_deferred_to_future(d) # fired in _wait_for_download()
192 finally:
193 slot.active.remove(request)
194
195 def _process_queue(self, slot: Slot) -> None:
196 if slot.latercall:

Callers

nothing calls this directly

Calls 4

_get_slotMethod · 0.95
_process_queueMethod · 0.95
maybe_deferred_to_futureFunction · 0.90
send_catch_logMethod · 0.80

Tested by

no test coverage detected