MCPcopy
hub / github.com/scrapy/scrapy / _response_downloaded

Method _response_downloaded

scrapy/extensions/throttle.py:62–93  ·  view source on GitHub ↗
(
        self, response: Response, request: Request, spider: Spider
    )

Source from the content-addressed store, hash-verified

60 )
61
62 def _response_downloaded(
63 self, response: Response, request: Request, spider: Spider
64 ) -> None:
65 key, slot = self._get_slot(request, spider)
66 latency = request.meta.get("download_latency")
67 if (
68 latency is None
69 or slot is None
70 or request.meta.get("autothrottle_dont_adjust_delay", False) is True
71 ):
72 return
73
74 olddelay = slot.delay
75 self._adjust_delay(slot, latency, response)
76 if self.debug:
77 diff = slot.delay - olddelay
78 size = len(response.body)
79 conc = len(slot.transferring)
80 logger.info(
81 "slot: %(slot)s | conc:%(concurrency)2d | "
82 "delay:%(delay)5d ms (%(delaydiff)+d) | "
83 "latency:%(latency)5d ms | size:%(size)6d bytes",
84 {
85 "slot": key,
86 "concurrency": conc,
87 "delay": slot.delay * 1000,
88 "delaydiff": diff * 1000,
89 "latency": latency * 1000,
90 "size": size,
91 },
92 extra={"spider": spider},
93 )
94
95 def _get_slot(
96 self, request: Request, spider: Spider

Callers 6

test_skippedFunction · 0.80
test_adjustmentFunction · 0.80
test_adjustment_limitsFunction · 0.80
test_debugFunction · 0.80
test_debug_disabledFunction · 0.80

Calls 4

_get_slotMethod · 0.95
_adjust_delayMethod · 0.95
infoMethod · 0.80
getMethod · 0.45

Tested by 6

test_skippedFunction · 0.64
test_adjustmentFunction · 0.64
test_adjustment_limitsFunction · 0.64
test_debugFunction · 0.64
test_debug_disabledFunction · 0.64