Почему «INFO :quesses.packages.urllib3.connectionpool: сброс сброшенного соединения» показывает, что это значит и почему скрипт перестает работать? - PullRequest
0 голосов
/ 29 апреля 2019

поэтому я сделал скрипт Python для получения данных из API REST zipato, я загрузил скрипт на хост-сервер Ubuntu и запустил его с экраном. Он работает нормально и все получает данные, спустя несколько дней (4-5) после работает, я получаю этот журнал на экране «INFO: запросы.packages.urllib3.connectionpool: сброс сброшенного соединения: my.zipato.com», и скрипт перестает работать. Также это появляется ниже, я помещаю его на случай, если это поможет получить ответ проще.

Traceback (most recent call last):
    File "Data.py" line 189,in <module>
     types = data_requests(jsessionid, desired_attributes)

.Что конкретно означает этот сброс сброшенного журнала подключений и как от него избавиться?

Я учел не слишком сильно напрягать API, поэтому я сделал данные запроса скрипта через 15-минутный интервал, а также вышел из системы один раз в день, сделал 1-часовой перерыв, затем вошел в систему и начал заново, пока он не выйдет из системы. снова на следующий день. Также я полагал, что это освежит соединение и избавит от проблемы, но он настаивает. Ниже приведен код. Что я делаю не так?

connection = requests.session()
#get nonce and jsessionid
nonce, jsessionid = initialize_session(connection)
#produce token
token = generate_token(psw, nonce)
#log in 
login(jsessionid, token, user, connection)
#calculate time for the log out operation
twentyfour_hours = datetime.now() + timedelta(hours=24)
print('session will expire after: ' + format(twentyfour_hours, '%H:%M:%S'))
#delay between each data retrieval
retrieve_delay = 900
#delay to log in again after log out
login_delay = 3600
while True:
    loggintime = datetime.now()
    timedif = twentyfour_hours - loggintime
    print('time until expiration: ')
    print(timedif)
    #what to do when the hour mark has passed
    if loggintime > twentyfour_hours:
        logout = connection.get('https://my.zipato.com:443/zipato-web/v2/user/logout',
                                cookies={'JSESSIONID': jsessionid})
        print('Loging out...')
        time.sleep(login_delay)
        print('New Log in session')
        connection = requests.session()
        nonce, jsessionid = initialize_session(connection)
        token = generate_token(psw, nonce)
        login(jsessionid, token, user, connection)
        twentyfour_hours = datetime.now() + timedelta(hours=24)
        print('session will log out after: ' + format(twentyfour_hours, '%H:%M:%S'))
    types = data_request(jsessionid, desired_attributes, connection)
    time.sleep(retrieve_delay)
...