Как выполнить код и повторно выполнить код, если сервер перестает отвечать на запросы? - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь очистить данные с сайта http://lmi2.detma.org/lmi/lmi_es_a.asp, и иногда веб-сайт перестает отвечать на запросы. Это заставляет мой код продолжать работать, ничего не делая. Я хочу прервать текущий код и перезапустить

Сейчас я просто нажимаю «Стоп» и снова выполняю, но я хочу сделать это автоматически

Мой текущий код:

try:
    exec(open('filename.py').read()) #code that might fail

except:
    #error handling if code failed

Проблема в том, что когда веб-сайт перестает отвечать на запросы, сообщение об ошибке не появляется, скрипт просто продолжает работать, ничего не делая, поэтому цикл кода try никогда не завершается

1 Ответ

0 голосов
/ 20 июня 2019

exec создаст новый подпроцесс, выполнит filename.py в этом процессе, а затем дождется завершения этого нового подпроцесса.

Вы ничего не можете сделать в своем текущем коде ... было бы лучше изменить filename.py так, чтобы, если он не получил никакого ответа, скажем, через 1 минуту, он просто перезапустился (черезцикл while или что-то в этом роде).

...