Показать сообщение отдельно

  #10  
Старый 14.11.2009, 14:22
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от roddik  
m0Hze, Вариант с перегруженным целевым сервером отпадает, так как если я перезапускаю скрипт, все идет ок

Вот кусок основной кусок кода

Код:
def run(self):
        while True:
            proxy = self.plist.get()
	    
	    try:
#Тут происходят нужные действия
            except Exception, e: #proxy ordered to live long
                print proxy, e
		
		if self.log_file:
		    print >>self.log_file, "Thread "+str(self.id)+": "+str(e)+"\n",
                
            self.plist.task_done()
То есть исключения вроде не должны быть причиной... В Queue.Queue() get по дефолту вроде blocking, так что, когда кончаются прокси, другой поток их освежает. В лог файле такая фигня: Сначала отмечаются все потоки, под конец активных визуально пару штук, последняя ошибка неактивных не дает никаких подсказок - обычный urlopen error
Больно смахивает на то, что проксей ему не хватает. Если реализована их очистка оттуда то это и может быть затык. Сделай следующей строчкой после получения прокси чтоб он выводил тебе какой поток получил прокси и саму прокси. Сделай логгирование на каждом шаге.
P.S> http://dumpz.org/11933/ - посмотри там есть класс PROXYS, ваозможно он и решит твои проблемы...

Последний раз редактировалось login999; 14.11.2009 в 14:26..
 
Ответить с цитированием