Иногда я вижу следующее исключение, когда пытаюсь попасть на мою домашнюю страницу.Что это за исключение python означает
ERROR:root:HTTPConnectionPool(host='0.0.0.0', port=8003): Max retries exceeded with url:
/snapshot/?app=cdnstats&key=28736ba5fbe151d5ff6678015c8f6ade (Caused by <class 'socket.error'>:
[Errno 61] Connection refused)
Traceback (most recent call last):
File "/Users/rokumar/CDNStats/cdnstats/app/core/views.py", line 257, in get_snapshot_data
data = templates.render_snapshot(controllers.get_snapshot_data())
File "/Users/rokumar/CDNStats/cdnstats/util.py", line 260, in decorated
expiry, mem_args, func, args, kwargs)
File "/Users/rokumar/CDNStats/cdnstats/util.py", line 227, in get_data_from_meminstance
data = func(*args, **kwargs)
File "/Users/rokumar/CDNStats/cdnstats/app/core/controllers.py", line 255, in get_snapshot_data
return util.call_get_api(config.CDNSTATS_API_URL + 'snapshot/?', data)
File "/Users/rokumar/CDNStats/cdnstats/util.py", line 123, in call_get_api
raise ex
Ниже приведен фрагмент кода, генерирующий исключение.
def call_get_api(url, data):
try:
data = data.copy()
data['key'] = request.args.get('key')
data['app'] = config.APPNAME
query = soft_urlencode(data)
response = requests.get(url + query)
if response.status_code == 200:
return response.json()
else:
apiexception = APIException(response.content)
apiexception.status_code = response.status_code
raise apiexception
except UnicodeEncodeError as ex:
print ex
raise ex
except Exception as ex:
raise ex
Я вижу исключение с перерывами, и мое приложение сильно замедляется. Я действительно не понимаю исключение или что не так. Исключение означает, что превышены максимальные повторы, но у меня нет логики повторения.
С той части ошибки, что «[Errno 61] Connection отказался», я предполагаю, что что-то неоднократно пытается и не может выполнить сетевой запрос. Трудно сказать что-либо еще, так как ваш код 'except Exception as ex: raise ex', кажется, скрывает остальную трассировку стека. Попробуйте удалить эти последние две строки, и вы можете получить более описательный след. – Kevin