Сервер Django + uWSGI завис при доступе к Twitter - PullRequest
0 голосов
/ 07 ноября 2019

Я управляю приложением 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запрос или что-то еще?
...