mirror of
https://github.com/scrapy/scrapy.git
synced 2025-02-25 18:24:30 +00:00
Merge pull request #2496 from redapple/dns-resolver-timeout
[MRG] Enforce DNS resolution timeout
This commit is contained in:
commit
245287fd5a
@ -16,8 +16,11 @@ class CachingThreadedResolver(ThreadedResolver):
|
|||||||
def getHostByName(self, name, timeout=None):
|
def getHostByName(self, name, timeout=None):
|
||||||
if name in dnscache:
|
if name in dnscache:
|
||||||
return defer.succeed(dnscache[name])
|
return defer.succeed(dnscache[name])
|
||||||
if not timeout:
|
# in Twisted<=16.6, getHostByName() is always called with
|
||||||
timeout = self.timeout
|
# a default timeout of 60s (actually passed as (1, 3, 11, 45) tuple),
|
||||||
|
# so the input argument above is simply overridden
|
||||||
|
# to enforce Scrapy's DNS_TIMEOUT setting's value
|
||||||
|
timeout = (self.timeout,)
|
||||||
d = super(CachingThreadedResolver, self).getHostByName(name, timeout)
|
d = super(CachingThreadedResolver, self).getHostByName(name, timeout)
|
||||||
d.addCallback(self._cache_result, name)
|
d.addCallback(self._cache_result, name)
|
||||||
return d
|
return d
|
||||||
|
Loading…
x
Reference in New Issue
Block a user