Запросы Python внутри представления Django зависают и требуют тайм-аута - PullRequest
0 голосов
/ 23 апреля 2019

Я ищу помощи для этого довольно странного поведения. У меня есть представление Django, которое вызывается после нажатия кнопки в шаблоне Django

@require_http_methods(['GET', 'POST'])
@login_required
@transaction.atomic
def create_key(request, slug):

    #some unrelated code

    try:
        r = requests.post(
            some_url,
            data={
                #some_data
            },
            auth=(client_id, client_secret),
            timeout=(req_to, res_to)
        )
        if r.status_code == 200:
            return True
        else:
            return False
    except ReadTimeout as to:
        # handle exception
        return True
    except Exception as e:
        # handle exception
        return False

    #some unrelated code

, который в основном вызывает конечную точку API для создания ключа. Теперь запрос с Postman работает нормально, вынимает этот фрагмент кода Python и запускает его один, но когда он помещается в это представление Django, он зависает, пока не достигнет тайм-аута ответа.

У кого-нибудь есть идеи или указатели на то, где может быть проблема?

Заранее спасибо!

РЕДАКТИРОВАТЬ: я обнаружил аналогичные проблемы, но они, хотя они имеют одинаковую структуру, проблема была где-то еще

Почему Python запрашивает библиотеку, не получающую ответ?

LiveServerTestCase зависает при запросах Python после вызова в представлении django

...