сервер gunicorn зависает при звонке сам - PullRequest
0 голосов
/ 20 марта 2020

У меня есть Django REST Framework сервис, который работает на сервере gunicorn. Вот как выглядит конфигурация:

exec gunicorn \
        --pid /web/gunicorn.pid \
        --workers 4 \
        --threads 8 \
        --worker-class gthread \
        --name my-api \
        --chdir /src/api \
        --bind unix:/web/.sock \
        --timeout 300 \
        --limit-request-line 8190 \
        wsgi:application

У меня есть два представления:

def view1(request):
  # Call DB etc.

def view2(request):
  my_api_python_client.call_view1(request)  # Hangs!

Это приводит к зависанию запроса на неопределенное время. Я понимаю, что вызов одного представления из другого звучит нелогично, но это нужно сделать, чтобы усилить кэширование, asyn c вызывает et c.

Что интересно, когда я запускаю его как Pycharm сервер, он отлично работает!

Вопрос - Почему мой запрос никогда не обрабатывается? Как мне это исправить?

...