Я управляю приложением Django + uWSGI с пакетом social-auth-app-django.
(social-auth-app-django: https://python -social-auth-docs. readthedocs.io/en/latest/configuration/django.html)
Моя проблема в том, что сервер uWSGI иногда зависает, или все рабочие заняты.
Я добирался докорень проблемы в течение нескольких месяцев, и затем я обнаружил, что процесс uWSGI завис на длительное время (60 секунд +) после вывода следующего сообщения (я использовал команду strace ):
socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 14
connect(14, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("104.244.42.194")}, 16
"104.244.42.XXX" - это IP-адрес сервера API Twitter.
Однако мне интересно, почему это занимает много времени. Я предполагаю, что этот запрос OAuth, потому что мое приложение использует только API OAuth Twitter, поэтому я установил таймаут для файла конфигурации social-auth-app-django следующим образом:
SOCIAL_AUTH_URLOPEN_TIMEOUT = 5
, но он никогда не разрешаетсяпробрем ...
Я хочу знать:
- Есть ли случай, когда Twitter OAuth занимает так много времени, и почему?
- Это действительно OAuthзапрос или что-то еще?