TGViewer
Python академия Python академия @pythonofff · 7.14K subscribers
Post #3496 958
🛑 Твой код завис навсегда? Исправляем!

Знаете ли вы, что по умолчанию библиотека 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? Если нет, самое время добавить! 👨‍💻

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
  • 👍 6
More from @pythonofff
  1. Sep 24, 2026Анонимные функции Часто функции нужны только один раз, причем короткие. И избыточно создав…
  2. Sep 23, 2026Бесконечные списки Мы уже рассказывали про важность копирования списков. Но именно из-за т…
  3. Sep 21, 2026Заглушки Для создания пустых функций и классов есть сразу два способа соответствующих прав…
  4. Sep 20, 2026Параметры функции *args, **kwargs Думаю, многие хоть раз видели такую запись, сейчас мы уз…
  5. Sep 18, 2026В одну строчку Python гибкий язык и позволяет многое сделать в одну строчку. К примеру, ма…
  6. Sep 16, 2026Распаковка Неудобно каждый раз для вывода объединять строки через join() или тем более как…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →