Не удалось получить ответ на Heroku, когда с сервера не было возвращено 204 содержимого. - PullRequest
0 голосов
/ 09 июля 2019

Мой сервер, размещенный на Heroku, ведет себя очень странно, и я не могу найти, откуда он идет, после нескольких часов расследования ...

Я использую Django Rest Framework, и в основном мой API возвращает ответ 204например, когда ничего не найдено:

@action(detail=False)
def scan(self, request, pk=None, **kwargs):
    store_id = self.kwargs['store_pk']
    ean = self.request.query_params.get('ean')

    queryset = ItemStore.objects.raw("query", [store_id, ean])

    if queryset:
        serializer = ItemStoreSerializer(queryset[0], many=False)
        return Response(serializer.data)

    else:
        return Response({'message': 'Aucun résultat'}, status=status.HTTP_204_NO_CONTENT)

Вот ответ, который я получаю от Почтальона:

Localhost (Local)

enter image description here

  • Содержание тела
  • Время: 262 мс

Heroku (Prod)

enter image description here

  • Нет содержимого тела
  • Время: 60488 мс

Как видите, сервер Heroku не работает.Не отправляю никакого ответа, это происходит только с 204, если я переключусь на 200 на коде, то это будет работать как ожидалось.Я предполагаю, что Heroku использует какой-то тайм-аут, установленный на 60 секунд, но я понятия не имею, где его найти и как его исправить, поэтому любая помощь будет высоко оценена!

...