Я создал веб-паука, который обращается к серверам как в США, так и в ЕС. Серверы США и ЕС имеют одинаковую структуру данных, но содержат разные данные, и я хочу сопоставить их все. Чтобы быть вежливым с сервером, между каждым запросом есть время ожидания. Поскольку программа точно такая же, чтобы ускорить обработку, я проделал программу, чтобы она могла одновременно обращаться к серверам ЕС и США.
Это сканирование займет порядка недель, а не дней. Будут исключения, и хотя я пытался обрабатывать все внутри программы, вероятно, что-то странное может возникнуть. Чтобы быть по-настоящему защищенным, я хотел бы поймать поток, который не удалось, зарегистрировать ошибку и перезапустить ее. В худшем случае я теряю несколько страниц из тысяч, что лучше, чем потерпеть неудачу в потоке, и теряет 50% скорости. Однако из того, что я прочитал, потоки Python умирают молча. У кого-нибудь есть идеи?
class AccessServer(threading.Thread):
def __init__(self, site):
threading.Thread.__init__(self)
self.site = site
self.qm = QueueManager.QueueManager(site)
def run(self):
# Do stuff here
def main():
us_thread = AccessServer(u"us")
us_thread.start()
eu_thread = AccessServer(u"eu")
eu_thread.start()