@YuriyCherniy

Как решить проблему запросов с помощью библиотеки requests к неотвечающим серверам?

Приветствую. В документации к requests рекомендовано использовать timeout немного больше 3 секунд.
It’s a good practice to set connect timeouts to slightly larger than a multiple of 3, which is the default TCP packet retransmission window.
r = requests.get('https://github.com', timeout=3.05)

Как я понимаю, если десять пользователей отправят по запросу к не отвечающим серверам, одиннадцатый пользователь будет ждать обработки своего запроса больше 30 секунд. Как решают такую проблему в контексте Django приложения?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 2
@bacon
1. Сделать проверку фоновой задачей
2. Воспользоваться возможностью async в django, наступишь на кучу граблей, не все места пока там async
3. Вынести в отдельный сервис, где вместо django взять какой-либо async фреймворк.
Ответ написан
solotony
@solotony
ушел пить чай %)
если джанго работает в 1 процесс - то да, будут ждать

хороших решений не знаю. лучшее - передача "долгого" запроса в celery
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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