Загружаем изображение…

🛑 Твой код завис навсегда? Исправляем!



Знаете ли вы, что по умолчанию библиотека requests ждет ответа от сервера бесконечно?

Если сервер, к которому вы обращаетесь, "упал" или просто завис, ваш Python-скрипт тоже встанет и будет висеть вечно, пока вы не убьете процесс вручную. В продакшене (да и в пет-проектах) это недопустимо! 🚫

✅ Решение: Всегда используйте timeout

Параметр timeout указывает, сколько секунд ждать ответа, прежде чем выбросить ошибку и продолжить работу.

Пример безопасного кода:

import requests
from requests.exceptions import Timeout, ConnectionError

url = "https://httpbin.org/delay/5" # Сервер ответит через 5 сек

try:
# Ставим таймаут 2 секунды.
# Если сервер не ответит за 2 сек — скрипт не зависнет!
response = requests.get(url, timeout=2)
response.raise_for_status() # Проверка на ошибки 4xx/5xx
print("Успех:", response.json())

except Timeout:
print("⏰ Ошибка: Сервер отвечает слишком долго!")
except ConnectionError:
print("🔌 Ошибка: Нет интернета или сайт недоступен.")
except Exception as e:
print(f"Что-то пошло не так: {e}")


💡 Совет: Хорошей практикой считается ставить таймаут в диапазоне 3–10 секунд для обычных запросов.

Проверьте свои старые проекты, есть ли там timeout? Если нет, самое время добавить! 👨‍💻

Подписывайтесь на канал 👉 @python_of
Просмотры: 7 587
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти