У меня проблема с PhantomJS, который может зависать в цикле без сообщения об ошибке.Я знаю, что мой код хорош, потому что после перезапуска он обычно завершается и, возможно, зависает где-то позже.Я имею в виду, может быть, что-то вроде этого:
i = 0
while i < len(url_list):
try:
driver.get(url_list[i])
# do whatever needs to be done
i = i+1
# go on the next one
except ThisIterationTakesTooLong:
# try again for this one because the code is definitely good
continue
Возможно ли сделать что-то подобное?По сути, это вещь в фоновом режиме, которая проверяет, как долго работает цикл.Я знаю о time.time (), но проблема в том, что он даже не будет измерять, если зависнет на команде перед счетчиком.
EDIT Посмотрев на предложенный вопрос, у меня все еще есть проблема, потому что этот сигнальный модуль не работает должным образом.
import signal
signal.alarm(5)
Выдает «AttributeError: у объекта 'module' нет атрибута 'alarm'"Похоже, я не могу этим пользоваться.