Tengo un pequeño script que comprueba una gran lista de dominios para sus registros MX, todo funciona bien, pero cuando el script encuentra un dominio sin registro, se tarda bastante tiempo en saltar a el siguiente.Dnspython: configuración de tiempo de espera/consulta de consulta
He intentado añadir:
query.lifetime = 1.0
or
query.timeout = 1.0
pero esto no parece hacer nada. ¿Alguien sabe cómo se configura esta configuración?
Mi script está debajo, gracias por su tiempo.
import dns.resolver
from dns.exception import DNSException
import dns.query
import csv
domains = csv.reader(open('domains.csv', 'rU'))
output = open('output.txt', 'w')
for row in domains:
try:
domain = row[0]
query = dns.resolver.query(domain,'MX')
query.lifetime = 1.0
except DNSException:
print "nothing here"
for rdata in query:
print domain, " ", rdata.exchange, 'has preference', rdata.preference
output.writelines(domain)
output.writelines(",")
output.writelines(rdata.exchange.to_text())
output.writelines("\n")
¡Muchas gracias !, intenté su respuesta con tiempo de espera, pero todavía tenía el mismo problema, pero el uso de resolvió.lifetime = 1.0 funcionó. –
Sí, no estoy seguro de cuál es la diferencia (nunca usé esa biblioteca) pero me alegro de que haya encontrado el atributo correcto. – kindall
Tenga en cuenta que 'timeout' es solo la mitad de la ecuación. Como en el ejemplo original de OP, también se debe usar 'lifetime'. Ver http://comments.gmane.org/gmane.comp.python.dnspython.user/144 –