Как решить ошибку 10054
Я использую приложение, предоставляемое каким-то веб-сайтом, чтобы периодически собирать данные с сайта, скажем, 30-х годов. Возвращенный ответ затем записывается в базу данных.
Я использую запросы модульных запросов на импорт и пишу коды, чтобы поймать Exception. Коды для основной функции следующие:
def get_response(self):
try:
response = requests.get(self.request_url)
if response.status_code == 200:
return response.json()
except Exception as e:
msg = "Exception is:\n %s \n" % e
print msg
Вышеуказанная функция работает довольно хорошо в течение первых нескольких часов. Функция также может восстанавливаться после некоторых исключений, таких как: ('Соединение прервано.', BadStatusLine ("''",))
или ('Соединение прервано.', ошибка (10053, '')). Оно исключает исключение (путем записи значения Null в базе данных) и продолжает получать ответ следующего периода.
Однако эта функция перестает работать при обнаружении ошибки 10054.
Exception is:
('Connection aborted.', error(10054, ''))
Я проверяю базу данных, чтобы найти, что весь ответ является Нулевым после того, как ошибка 10054 прибывает. Во-первых, я предполагаю, что сайт может выйти из строя, поэтому никакого ответа не получено. Но когда я вручную перезагружаю функцию, она снова начинает получать ответ. Так что это не происходит с разбивкой веб-сайта.
Я ищу в stackoverflow и нахожу: Errno 10054 Существующее соединение было принудительно закрыто удаленным хостом. Но я не знаю, как решить это.
Не могли бы вы дать некоторую поддержку этой проблеме (в идеале) или предложить какое-нибудь решение для перезапуска функции без ручного перезапуска? (Похоже, после перезапуска функции, и она снова работает.)
Заранее спасибо.