@alex1478

Почему зависает программа?

У меня есть простенькая программа, которая примерно раз в минуту должна отсылать запрос на мой сервер:
s = requests.session()
s.mount('http://', HTTPAdapter(max_retries=5))
s.mount('https://', HTTPAdapter(max_retries=5))

while True:
    s.get('мой сайт', timeout=30)
    print('Запрос отправлен')
    time.sleep(60)

Но часов через 8-14 новые сообщения «Запрос отправлен» перестают появляться, и на сервер ничего не приходит. Если остановить программу ctrl + c будет:
^CTraceback (most recent call last):
  File "./main.py", line 14, in <module>  
    time.sleep(60)
KeyboardInterrupt

В чём может быть причина?
  • Вопрос задан
  • 299 просмотров
Пригласить эксперта
Ответы на вопрос 1
Guest007
@Guest007
Django, Python, Linux и всё такое...
Надо больше информации.
К примеру поставь простейший счётчик. Чтобы выводить количество запросов до отвала. можно ещё точнее считать время. Перед циклом сохранить текущее время и в каждом print('Запрос отправлен') кроме текущего счётчика ещё выводить дельту времени. Так ты всегда сможешь увидеть сколько точно прошло запросов и через сколько точно остановился процесс.
Прежде чем прибивать - посмотри, сколько памяти занял процесс. Может какое переполнение?
А каково время жизни сессии? Может просто сессия истекает - ты же в рамках сессии долбишься, а не отдельными запросами.

В общем просто аналитика. Анализ - это значительная рабочего часть времени программиста :-)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы