per slot settings: code optimized

This commit is contained in:
GeorgeA92 2022-11-18 14:16:18 +02:00
parent aabdd0b657
commit 12d52a4f08
1 changed files with 4 additions and 3 deletions

View File

@ -100,12 +100,13 @@ class Downloader:
def _get_slot(self, request, spider):
key = self._get_slot_key(request, spider)
if key not in self.slots:
conc = self.per_slot_settings.get(key, {}).get(
slot_settings = self.per_slot_settings.get(key, {})
conc = slot_settings.get(
'concurrency', self.ip_concurrency if self.ip_concurrency else self.domain_concurrency
)
conc, delay = _get_concurrency_delay(conc, spider, self.settings)
delay = self.per_slot_settings.get(key, {}).get('delay', delay)
randomize_delay = self.per_slot_settings.get(key, {}).get('randomize_delay', self.randomize_delay)
delay = slot_settings.get('delay', delay)
randomize_delay = slot_settings.get('randomize_delay', self.randomize_delay)
new_slot = Slot(conc, delay, randomize_delay)
self.slots[key] = new_slot