Nginx / Gunicorn / Django проблема с тайм-аутом сервера - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть веб-сайт, использующий Django, Gunicorn и Nginx. Я использую некоторые интегрированные сервисы (например, Mauti c), используя запросы API. Но в конце концов эти службы останавливаются, и сервер выдает ошибку 502 Bad Gateway из-за тайм-аута. Я интенсивно искал ответы, но нашел только ответы, которые предлагали увеличить время ожидания истечения времени ожидания Nginx или Гуникорна. Проблема в том, что когда служба останавливается, она никогда не отвечает и, поскольку сервер генерирует ошибку, процесс в Django, по-видимому, завершается.

Пример представления с простым потоком

@api_view(['GET','POST'])
def view_example(request, format=None):
    item = request.GET['item']
    simple_request(item)
    # from this line onwards is not executed

Пример запроса с использованием запросов

import requests
def simple_request(item):
    url = 'https://example.com'
    data = {'item': item}
    headers = {'example': 'example'}
    response = requests.post(url, data=data, headers=headers)

Код Python не перехватывает никаких исключений, когда я использую try / исключением и остановить процесс. Консоль показывает ошибку 502.

...