Запросы GraphQL в приложении Apollo вызывают сотни повторяющихся запросов - PullRequest
1 голос
/ 20 апреля 2020

У меня есть приложение React, использующее Next. js и Apollo, и после развертывания его в Heroku я сталкиваюсь с проблемами, когда приложение зависает и вылетает. Я выяснил, что запросы GraphQL (но не мутации) несут ответственность: когда срабатывает запрос, я вижу логи Heroku о том, что серверная часть приложения заполняется сотнями, казалось бы, избыточных POST-запросов (пример запроса показан ниже) , Когда несколько запросов запускаются одновременно, поток активности может взломать sh приложение.

Что я могу сделать, чтобы это исправить?

Вот еще информация, которая, будем надеяться, покажет:

  • Запросы успешно получают данные с сервера GraphQL.
  • Мутации и запросы локального состояния в Apollo не вызывают одинаковый поток; они работают нормально.
  • В браузере на вкладке «Сеть» в инструментах разработчика не отображаются запросы POST, поступающие во внешний домен; только обычные запросы GET (и запросы к домену сервера GraphQL)
  • Я не обнаруживаю ту же проблему в локальной разработке.
  • Запросы выглядят так:

     2020-04-20T05:04:21.861390+00:00 heroku[router]: at=info method=POST path="/" host=recipe-market.herokuapp.com request_id=7ac33b80-59cc-4893-a8c0-5224dd2906b9 fwd="(My IP address here),18.205.161.72" dyno=web.1 connect=0ms service=79ms status=200 bytes=1151 protocol=https
    
  • … и каждый последующий запрос в потоке идентичен, включая идентификатор запроса, за исключением того, что второй адрес в поле fwd дублируется, например: fwd="(My IP address here), 18.205.161.72,18.205.161.72"… и повторяется пока в поле fwd

  • не будет около 300 дубликатов этого второго адреса, поток запросов не кажется бесконечным; он останавливается на отметке 300. Все протестированные мной запросы вызывают одинаковое количество запросов.
...