Skip to content Skip to sidebar Skip to footer

Dnspython: Setting Query Timeout/lifetime

I have a small script that checks a large list of domains for their MX records, everything works fine but when the script finds a domain with no record, it takes quite a long time

Solution 1:

You're setting the timeout after you've already performed the query. So that's not gonna do anything!

What you want to do instead is create a Resolver object, set its timeout, and then call its query() method. dns.resolver.query() is just a convenience function that instantiates a default Resolver object and invokes its query() method, so you need to do that manually if you don't want a default Resolver.

resolver = dns.resolver.Resolver()
resolver.timeout = 1resolver.lifetime = 1

Then use this in your loop:

try:
    domain = row[0]
    query = resolver.query(domain,'MX')
except:
    # etc.

You should be able to use the same Resolver object for all queries.

Post a Comment for "Dnspython: Setting Query Timeout/lifetime"